@mokup/server 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/README.zh-CN.md +9 -0
- package/dist/connect.cjs +25 -0
- package/dist/connect.d.cts +19 -0
- package/dist/connect.d.mts +19 -0
- package/dist/connect.d.ts +19 -0
- package/dist/connect.mjs +23 -0
- package/dist/express.cjs +11 -0
- package/dist/express.d.cts +18 -0
- package/dist/express.d.mts +18 -0
- package/dist/express.d.ts +18 -0
- package/dist/express.mjs +9 -0
- package/dist/fastify.cjs +39 -0
- package/dist/fastify.d.cts +29 -0
- package/dist/fastify.d.mts +29 -0
- package/dist/fastify.d.ts +29 -0
- package/dist/fastify.mjs +37 -0
- package/dist/fetch-server.cjs +1659 -0
- package/dist/fetch-server.d.cts +108 -0
- package/dist/fetch-server.d.mts +108 -0
- package/dist/fetch-server.d.ts +108 -0
- package/dist/fetch-server.mjs +1652 -0
- package/dist/fetch.cjs +26 -0
- package/dist/fetch.d.cts +17 -0
- package/dist/fetch.d.mts +17 -0
- package/dist/fetch.d.ts +17 -0
- package/dist/fetch.mjs +24 -0
- package/dist/hono.cjs +27 -0
- package/dist/hono.d.cts +32 -0
- package/dist/hono.d.mts +32 -0
- package/dist/hono.d.ts +32 -0
- package/dist/hono.mjs +25 -0
- package/dist/index.cjs +29 -1677
- package/dist/index.d.cts +42 -136
- package/dist/index.d.mts +42 -136
- package/dist/index.d.ts +42 -136
- package/dist/index.mjs +28 -1666
- package/dist/koa.cjs +38 -0
- package/dist/koa.d.cts +29 -0
- package/dist/koa.d.mts +29 -0
- package/dist/koa.d.ts +29 -0
- package/dist/koa.mjs +36 -0
- package/dist/node.cjs +26 -0
- package/dist/node.d.cts +13 -0
- package/dist/node.d.mts +13 -0
- package/dist/node.d.ts +13 -0
- package/dist/node.mjs +19 -0
- package/dist/shared/server.CyVIKPsp.d.cts +214 -0
- package/dist/shared/server.CyVIKPsp.d.mts +214 -0
- package/dist/shared/server.CyVIKPsp.d.ts +214 -0
- package/dist/shared/server.D0gAciOr.d.cts +46 -0
- package/dist/shared/server.D0gAciOr.d.mts +46 -0
- package/dist/shared/server.D0gAciOr.d.ts +46 -0
- package/dist/shared/server.DkerfsA-.d.cts +73 -0
- package/dist/shared/server.DkerfsA-.d.mts +73 -0
- package/dist/shared/server.DkerfsA-.d.ts +73 -0
- package/dist/shared/{server.Dje1y79O.mjs → server.LbftO9Jh.mjs} +58 -77
- package/dist/shared/{server.BdTl0qJd.cjs → server.aaygIV2Q.cjs} +59 -77
- package/dist/worker-node.cjs +74 -0
- package/dist/worker-node.d.cts +40 -0
- package/dist/worker-node.d.mts +40 -0
- package/dist/worker-node.d.ts +40 -0
- package/dist/worker-node.mjs +72 -0
- package/dist/worker.cjs +6 -2
- package/dist/worker.d.cts +24 -2
- package/dist/worker.d.mts +24 -2
- package/dist/worker.d.ts +24 -2
- package/dist/worker.mjs +6 -2
- package/package.json +44 -4
- package/dist/shared/server.DNITwCtQ.d.cts +0 -15
- package/dist/shared/server.DNITwCtQ.d.mts +0 -15
- package/dist/shared/server.DNITwCtQ.d.ts +0 -15
package/README.md
CHANGED
|
@@ -5,3 +5,12 @@ English | [Chinese](./README.zh-CN.md)
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
7
|
Server adapters for Mokup that integrate the runtime with popular Node frameworks and Workers. For detailed usage, see https://mokup.icebreaker.top.
|
|
8
|
+
|
|
9
|
+
This package is used internally by `mokup`. Prefer the public entrypoints below.
|
|
10
|
+
|
|
11
|
+
## Entrypoints
|
|
12
|
+
|
|
13
|
+
- `mokup/server`: Node adapters and dev server helpers
|
|
14
|
+
- `mokup/server/node`: Node `serve` helper
|
|
15
|
+
- `mokup/server/fetch`: runtime-agnostic fetch handler + types
|
|
16
|
+
- `mokup/server/worker`: Worker helper that wraps `createFetchHandler` and returns 404 on `null`
|
package/README.zh-CN.md
CHANGED
|
@@ -5,3 +5,12 @@
|
|
|
5
5
|
## 概览
|
|
6
6
|
|
|
7
7
|
Mokup 的 Server 适配器集合,用于把运行时接入各类 Node 框架与 Worker。完整文档见 https://mokup.icebreaker.top。
|
|
8
|
+
|
|
9
|
+
该包为 `mokup` 内部依赖,建议使用下方公开入口。
|
|
10
|
+
|
|
11
|
+
## 入口说明
|
|
12
|
+
|
|
13
|
+
- `mokup/server`:Node 适配器与开发服务器
|
|
14
|
+
- `mokup/server/node`:Node `serve` 入口
|
|
15
|
+
- `mokup/server/fetch`:运行时无关的 fetch 入口 + 类型
|
|
16
|
+
- `mokup/server/worker`:Worker helper,封装 `createFetchHandler` 并在 `null` 时返回 404
|
package/dist/connect.cjs
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const runtime = require('@mokup/runtime');
|
|
4
|
+
const runtime$1 = require('./shared/server.aaygIV2Q.cjs');
|
|
5
|
+
|
|
6
|
+
function createConnectMiddleware(options) {
|
|
7
|
+
const runtime$2 = runtime.createRuntime(runtime$1.toRuntimeOptions(options));
|
|
8
|
+
const onNotFound = options.onNotFound ?? "next";
|
|
9
|
+
return async (req, res, next) => {
|
|
10
|
+
const runtimeRequest = await runtime$1.toRuntimeRequestFromNode(req);
|
|
11
|
+
const result = await runtime$2.handle(runtimeRequest);
|
|
12
|
+
if (!result) {
|
|
13
|
+
if (onNotFound === "response") {
|
|
14
|
+
res.statusCode = 404;
|
|
15
|
+
res.end();
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
next();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
runtime$1.applyRuntimeResultToNode(res, result);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.createConnectMiddleware = createConnectMiddleware;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { N as NodeRequestLike, a as NodeResponseLike } from './shared/server.D0gAciOr.cjs';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.cjs';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
type NextFunction = (error?: unknown) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Create a Connect-style middleware from server options.
|
|
8
|
+
*
|
|
9
|
+
* @param options - Server options.
|
|
10
|
+
* @returns Connect middleware handler.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { createConnectMiddleware } from '@mokup/server'
|
|
14
|
+
*
|
|
15
|
+
* const middleware = createConnectMiddleware({ manifest: { version: 1, routes: [] } })
|
|
16
|
+
*/
|
|
17
|
+
declare function createConnectMiddleware(options: ServerOptions): (req: NodeRequestLike, res: NodeResponseLike, next: NextFunction) => Promise<void>;
|
|
18
|
+
|
|
19
|
+
export { createConnectMiddleware };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { N as NodeRequestLike, a as NodeResponseLike } from './shared/server.D0gAciOr.mjs';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.mjs';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
type NextFunction = (error?: unknown) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Create a Connect-style middleware from server options.
|
|
8
|
+
*
|
|
9
|
+
* @param options - Server options.
|
|
10
|
+
* @returns Connect middleware handler.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { createConnectMiddleware } from '@mokup/server'
|
|
14
|
+
*
|
|
15
|
+
* const middleware = createConnectMiddleware({ manifest: { version: 1, routes: [] } })
|
|
16
|
+
*/
|
|
17
|
+
declare function createConnectMiddleware(options: ServerOptions): (req: NodeRequestLike, res: NodeResponseLike, next: NextFunction) => Promise<void>;
|
|
18
|
+
|
|
19
|
+
export { createConnectMiddleware };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { N as NodeRequestLike, a as NodeResponseLike } from './shared/server.D0gAciOr.js';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.js';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
type NextFunction = (error?: unknown) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Create a Connect-style middleware from server options.
|
|
8
|
+
*
|
|
9
|
+
* @param options - Server options.
|
|
10
|
+
* @returns Connect middleware handler.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { createConnectMiddleware } from '@mokup/server'
|
|
14
|
+
*
|
|
15
|
+
* const middleware = createConnectMiddleware({ manifest: { version: 1, routes: [] } })
|
|
16
|
+
*/
|
|
17
|
+
declare function createConnectMiddleware(options: ServerOptions): (req: NodeRequestLike, res: NodeResponseLike, next: NextFunction) => Promise<void>;
|
|
18
|
+
|
|
19
|
+
export { createConnectMiddleware };
|
package/dist/connect.mjs
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createRuntime } from '@mokup/runtime';
|
|
2
|
+
import { t as toRuntimeOptions, a as toRuntimeRequestFromNode, b as applyRuntimeResultToNode } from './shared/server.LbftO9Jh.mjs';
|
|
3
|
+
|
|
4
|
+
function createConnectMiddleware(options) {
|
|
5
|
+
const runtime = createRuntime(toRuntimeOptions(options));
|
|
6
|
+
const onNotFound = options.onNotFound ?? "next";
|
|
7
|
+
return async (req, res, next) => {
|
|
8
|
+
const runtimeRequest = await toRuntimeRequestFromNode(req);
|
|
9
|
+
const result = await runtime.handle(runtimeRequest);
|
|
10
|
+
if (!result) {
|
|
11
|
+
if (onNotFound === "response") {
|
|
12
|
+
res.statusCode = 404;
|
|
13
|
+
res.end();
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
next();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
applyRuntimeResultToNode(res, result);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { createConnectMiddleware };
|
package/dist/express.cjs
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const connect = require('./connect.cjs');
|
|
4
|
+
require('@mokup/runtime');
|
|
5
|
+
require('./shared/server.aaygIV2Q.cjs');
|
|
6
|
+
|
|
7
|
+
function createExpressMiddleware(options) {
|
|
8
|
+
return connect.createConnectMiddleware(options);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createExpressMiddleware = createExpressMiddleware;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { N as NodeRequestLike, a as NodeResponseLike } from './shared/server.D0gAciOr.cjs';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.cjs';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create an Express middleware from server options.
|
|
7
|
+
*
|
|
8
|
+
* @param options - Server options.
|
|
9
|
+
* @returns Express middleware handler.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { createExpressMiddleware } from '@mokup/server'
|
|
13
|
+
*
|
|
14
|
+
* const middleware = createExpressMiddleware({ manifest: { version: 1, routes: [] } })
|
|
15
|
+
*/
|
|
16
|
+
declare function createExpressMiddleware(options: ServerOptions): (req: NodeRequestLike, res: NodeResponseLike, next: (error?: unknown) => void) => Promise<void>;
|
|
17
|
+
|
|
18
|
+
export { createExpressMiddleware };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { N as NodeRequestLike, a as NodeResponseLike } from './shared/server.D0gAciOr.mjs';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.mjs';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create an Express middleware from server options.
|
|
7
|
+
*
|
|
8
|
+
* @param options - Server options.
|
|
9
|
+
* @returns Express middleware handler.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { createExpressMiddleware } from '@mokup/server'
|
|
13
|
+
*
|
|
14
|
+
* const middleware = createExpressMiddleware({ manifest: { version: 1, routes: [] } })
|
|
15
|
+
*/
|
|
16
|
+
declare function createExpressMiddleware(options: ServerOptions): (req: NodeRequestLike, res: NodeResponseLike, next: (error?: unknown) => void) => Promise<void>;
|
|
17
|
+
|
|
18
|
+
export { createExpressMiddleware };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { N as NodeRequestLike, a as NodeResponseLike } from './shared/server.D0gAciOr.js';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.js';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create an Express middleware from server options.
|
|
7
|
+
*
|
|
8
|
+
* @param options - Server options.
|
|
9
|
+
* @returns Express middleware handler.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { createExpressMiddleware } from '@mokup/server'
|
|
13
|
+
*
|
|
14
|
+
* const middleware = createExpressMiddleware({ manifest: { version: 1, routes: [] } })
|
|
15
|
+
*/
|
|
16
|
+
declare function createExpressMiddleware(options: ServerOptions): (req: NodeRequestLike, res: NodeResponseLike, next: (error?: unknown) => void) => Promise<void>;
|
|
17
|
+
|
|
18
|
+
export { createExpressMiddleware };
|
package/dist/express.mjs
ADDED
package/dist/fastify.cjs
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const runtime = require('@mokup/runtime');
|
|
4
|
+
const runtime$1 = require('./shared/server.aaygIV2Q.cjs');
|
|
5
|
+
|
|
6
|
+
function createFastifyPlugin(options) {
|
|
7
|
+
const runtime$2 = runtime.createRuntime(runtime$1.toRuntimeOptions(options));
|
|
8
|
+
const onNotFound = options.onNotFound ?? "next";
|
|
9
|
+
return async (instance) => {
|
|
10
|
+
instance.addHook("onRequest", async (request, reply) => {
|
|
11
|
+
const runtimeRequest = await runtime$1.toRuntimeRequestFromNode(
|
|
12
|
+
request.raw ?? request,
|
|
13
|
+
request.body
|
|
14
|
+
);
|
|
15
|
+
const result = await runtime$2.handle(runtimeRequest);
|
|
16
|
+
if (!result) {
|
|
17
|
+
if (onNotFound === "response") {
|
|
18
|
+
reply.status(404).send();
|
|
19
|
+
}
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
reply.status(result.status);
|
|
23
|
+
for (const [key, value] of Object.entries(result.headers)) {
|
|
24
|
+
reply.header(key, value);
|
|
25
|
+
}
|
|
26
|
+
if (result.body === null) {
|
|
27
|
+
reply.send();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (typeof result.body === "string") {
|
|
31
|
+
reply.send(result.body);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
reply.send(runtime$1.toBinaryBody(result.body));
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
exports.createFastifyPlugin = createFastifyPlugin;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { N as NodeRequestLike } from './shared/server.D0gAciOr.cjs';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.cjs';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
interface FastifyRequestLike extends NodeRequestLike {
|
|
6
|
+
raw?: NodeRequestLike;
|
|
7
|
+
}
|
|
8
|
+
interface FastifyReplyLike {
|
|
9
|
+
status: (code: number) => FastifyReplyLike;
|
|
10
|
+
header: (name: string, value: string) => FastifyReplyLike;
|
|
11
|
+
send: (payload?: unknown) => void;
|
|
12
|
+
}
|
|
13
|
+
interface FastifyInstanceLike {
|
|
14
|
+
addHook: (name: 'onRequest' | 'preHandler', handler: (request: FastifyRequestLike, reply: FastifyReplyLike) => Promise<void> | void) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a Fastify plugin from server options.
|
|
18
|
+
*
|
|
19
|
+
* @param options - Server options.
|
|
20
|
+
* @returns Fastify plugin handler.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* import { createFastifyPlugin } from '@mokup/server'
|
|
24
|
+
*
|
|
25
|
+
* const plugin = createFastifyPlugin({ manifest: { version: 1, routes: [] } })
|
|
26
|
+
*/
|
|
27
|
+
declare function createFastifyPlugin(options: ServerOptions): (instance: FastifyInstanceLike) => Promise<void>;
|
|
28
|
+
|
|
29
|
+
export { createFastifyPlugin };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { N as NodeRequestLike } from './shared/server.D0gAciOr.mjs';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.mjs';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
interface FastifyRequestLike extends NodeRequestLike {
|
|
6
|
+
raw?: NodeRequestLike;
|
|
7
|
+
}
|
|
8
|
+
interface FastifyReplyLike {
|
|
9
|
+
status: (code: number) => FastifyReplyLike;
|
|
10
|
+
header: (name: string, value: string) => FastifyReplyLike;
|
|
11
|
+
send: (payload?: unknown) => void;
|
|
12
|
+
}
|
|
13
|
+
interface FastifyInstanceLike {
|
|
14
|
+
addHook: (name: 'onRequest' | 'preHandler', handler: (request: FastifyRequestLike, reply: FastifyReplyLike) => Promise<void> | void) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a Fastify plugin from server options.
|
|
18
|
+
*
|
|
19
|
+
* @param options - Server options.
|
|
20
|
+
* @returns Fastify plugin handler.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* import { createFastifyPlugin } from '@mokup/server'
|
|
24
|
+
*
|
|
25
|
+
* const plugin = createFastifyPlugin({ manifest: { version: 1, routes: [] } })
|
|
26
|
+
*/
|
|
27
|
+
declare function createFastifyPlugin(options: ServerOptions): (instance: FastifyInstanceLike) => Promise<void>;
|
|
28
|
+
|
|
29
|
+
export { createFastifyPlugin };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { N as NodeRequestLike } from './shared/server.D0gAciOr.js';
|
|
2
|
+
import { S as ServerOptions } from './shared/server.DkerfsA-.js';
|
|
3
|
+
import '@mokup/runtime';
|
|
4
|
+
|
|
5
|
+
interface FastifyRequestLike extends NodeRequestLike {
|
|
6
|
+
raw?: NodeRequestLike;
|
|
7
|
+
}
|
|
8
|
+
interface FastifyReplyLike {
|
|
9
|
+
status: (code: number) => FastifyReplyLike;
|
|
10
|
+
header: (name: string, value: string) => FastifyReplyLike;
|
|
11
|
+
send: (payload?: unknown) => void;
|
|
12
|
+
}
|
|
13
|
+
interface FastifyInstanceLike {
|
|
14
|
+
addHook: (name: 'onRequest' | 'preHandler', handler: (request: FastifyRequestLike, reply: FastifyReplyLike) => Promise<void> | void) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a Fastify plugin from server options.
|
|
18
|
+
*
|
|
19
|
+
* @param options - Server options.
|
|
20
|
+
* @returns Fastify plugin handler.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* import { createFastifyPlugin } from '@mokup/server'
|
|
24
|
+
*
|
|
25
|
+
* const plugin = createFastifyPlugin({ manifest: { version: 1, routes: [] } })
|
|
26
|
+
*/
|
|
27
|
+
declare function createFastifyPlugin(options: ServerOptions): (instance: FastifyInstanceLike) => Promise<void>;
|
|
28
|
+
|
|
29
|
+
export { createFastifyPlugin };
|
package/dist/fastify.mjs
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createRuntime } from '@mokup/runtime';
|
|
2
|
+
import { t as toRuntimeOptions, a as toRuntimeRequestFromNode, c as toBinaryBody } from './shared/server.LbftO9Jh.mjs';
|
|
3
|
+
|
|
4
|
+
function createFastifyPlugin(options) {
|
|
5
|
+
const runtime = createRuntime(toRuntimeOptions(options));
|
|
6
|
+
const onNotFound = options.onNotFound ?? "next";
|
|
7
|
+
return async (instance) => {
|
|
8
|
+
instance.addHook("onRequest", async (request, reply) => {
|
|
9
|
+
const runtimeRequest = await toRuntimeRequestFromNode(
|
|
10
|
+
request.raw ?? request,
|
|
11
|
+
request.body
|
|
12
|
+
);
|
|
13
|
+
const result = await runtime.handle(runtimeRequest);
|
|
14
|
+
if (!result) {
|
|
15
|
+
if (onNotFound === "response") {
|
|
16
|
+
reply.status(404).send();
|
|
17
|
+
}
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
reply.status(result.status);
|
|
21
|
+
for (const [key, value] of Object.entries(result.headers)) {
|
|
22
|
+
reply.header(key, value);
|
|
23
|
+
}
|
|
24
|
+
if (result.body === null) {
|
|
25
|
+
reply.send();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (typeof result.body === "string") {
|
|
29
|
+
reply.send(result.body);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
reply.send(toBinaryBody(result.body));
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { createFastifyPlugin };
|