Aktueller Stand

This commit is contained in:
2026-01-23 01:33:35 +01:00
parent 082dc5e110
commit 2766dd12c5
10109 changed files with 1578841 additions and 77685 deletions

View File

@@ -0,0 +1,9 @@
// src/adapter/cloudflare-workers/conninfo.ts
var getConnInfo = (c) => ({
remote: {
address: c.req.header("cf-connecting-ip")
}
});
export {
getConnInfo
};

View File

@@ -0,0 +1,9 @@
// src/adapter/cloudflare-workers/index.ts
import { serveStatic } from "./serve-static-module.js";
import { upgradeWebSocket } from "./websocket.js";
import { getConnInfo } from "./conninfo.js";
export {
getConnInfo,
serveStatic,
upgradeWebSocket
};

View File

@@ -0,0 +1,8 @@
// src/adapter/cloudflare-workers/serve-static-module.ts
import { serveStatic } from "./serve-static.js";
var module = (options) => {
return serveStatic(options);
};
export {
module as serveStatic
};

View File

@@ -0,0 +1,22 @@
// src/adapter/cloudflare-workers/serve-static.ts
import { serveStatic as baseServeStatic } from "../../middleware/serve-static/index.js";
import { getContentFromKVAsset } from "./utils.js";
var serveStatic = (options) => {
return async function serveStatic2(c, next) {
const getContent = async (path) => {
return getContentFromKVAsset(path, {
manifest: options.manifest,
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
namespace: options.namespace ? options.namespace : c.env ? c.env.__STATIC_CONTENT : void 0
});
};
return baseServeStatic({
...options,
getContent
})(c, next);
};
};
export {
serveStatic
};

View File

@@ -0,0 +1,35 @@
// src/adapter/cloudflare-workers/utils.ts
var getContentFromKVAsset = async (path, options) => {
let ASSET_MANIFEST;
if (options && options.manifest) {
if (typeof options.manifest === "string") {
ASSET_MANIFEST = JSON.parse(options.manifest);
} else {
ASSET_MANIFEST = options.manifest;
}
} else {
if (typeof __STATIC_CONTENT_MANIFEST === "string") {
ASSET_MANIFEST = JSON.parse(__STATIC_CONTENT_MANIFEST);
} else {
ASSET_MANIFEST = __STATIC_CONTENT_MANIFEST;
}
}
let ASSET_NAMESPACE;
if (options && options.namespace) {
ASSET_NAMESPACE = options.namespace;
} else {
ASSET_NAMESPACE = __STATIC_CONTENT;
}
const key = ASSET_MANIFEST[path] || path;
if (!key) {
return null;
}
const content = await ASSET_NAMESPACE.get(key, { type: "stream" });
if (!content) {
return null;
}
return content;
};
export {
getContentFromKVAsset
};

View File

@@ -0,0 +1,41 @@
// src/adapter/cloudflare-workers/websocket.ts
import { WSContext, defineWebSocketHelper } from "../../helper/websocket/index.js";
var upgradeWebSocket = defineWebSocketHelper(async (c, events) => {
const upgradeHeader = c.req.header("Upgrade");
if (upgradeHeader !== "websocket") {
return;
}
const webSocketPair = new WebSocketPair();
const client = webSocketPair[0];
const server = webSocketPair[1];
const wsContext = new WSContext({
close: (code, reason) => server.close(code, reason),
get protocol() {
return server.protocol;
},
raw: server,
get readyState() {
return server.readyState;
},
url: server.url ? new URL(server.url) : null,
send: (source) => server.send(source)
});
if (events.onClose) {
server.addEventListener("close", (evt) => events.onClose?.(evt, wsContext));
}
if (events.onMessage) {
server.addEventListener("message", (evt) => events.onMessage?.(evt, wsContext));
}
if (events.onError) {
server.addEventListener("error", (evt) => events.onError?.(evt, wsContext));
}
server.accept?.();
return new Response(null, {
status: 101,
// @ts-expect-error - webSocket is not typed
webSocket: client
});
});
export {
upgradeWebSocket
};