expo-server 55.0.3 → 55.0.5
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/build/cjs/manifest.d.ts +1 -0
- package/build/cjs/private.d.ts +1 -0
- package/build/cjs/private.js +3 -1
- package/build/cjs/private.js.map +1 -1
- package/build/cjs/rendering.d.ts +1 -0
- package/build/cjs/runtime/api.d.ts +4 -3
- package/build/cjs/runtime/api.js +4 -3
- package/build/cjs/runtime/api.js.map +1 -1
- package/build/cjs/runtime/index.d.ts +1 -1
- package/build/cjs/runtime/index.js +14 -1
- package/build/cjs/runtime/index.js.map +1 -1
- package/build/cjs/runtime/scope.d.ts +1 -1
- package/build/cjs/utils/matchers.d.ts +12 -0
- package/build/cjs/utils/matchers.js +36 -0
- package/build/cjs/utils/matchers.js.map +1 -1
- package/build/cjs/vendor/eas.d.ts +4 -1
- package/build/cjs/vendor/eas.js +8 -6
- package/build/cjs/vendor/eas.js.map +1 -1
- package/build/cjs/vendor/environment/common.d.ts +5 -3
- package/build/cjs/vendor/environment/common.js +46 -22
- package/build/cjs/vendor/environment/common.js.map +1 -1
- package/build/cjs/vendor/environment/node.d.ts +2 -7
- package/build/cjs/vendor/environment/node.js +10 -1
- package/build/cjs/vendor/environment/node.js.map +1 -1
- package/build/cjs/vendor/environment/workerd.d.ts +2 -7
- package/build/cjs/vendor/environment/workerd.js +10 -1
- package/build/cjs/vendor/environment/workerd.js.map +1 -1
- package/build/cjs/vendor/express.d.ts +1 -3
- package/build/cjs/vendor/express.js +7 -67
- package/build/cjs/vendor/express.js.map +1 -1
- package/build/cjs/vendor/http.d.ts +4 -2
- package/build/cjs/vendor/http.js +33 -33
- package/build/cjs/vendor/http.js.map +1 -1
- package/build/cjs/vendor/netlify.js +1 -1
- package/build/cjs/vendor/netlify.js.map +1 -1
- package/build/cjs/vendor/vercel.js +1 -1
- package/build/cjs/vendor/vercel.js.map +1 -1
- package/build/cjs/vendor/workerd.d.ts +4 -1
- package/build/cjs/vendor/workerd.js +7 -5
- package/build/cjs/vendor/workerd.js.map +1 -1
- package/build/mjs/manifest.d.ts +1 -0
- package/build/mjs/private.d.ts +1 -0
- package/build/mjs/private.js +1 -0
- package/build/mjs/private.js.map +1 -1
- package/build/mjs/rendering.d.ts +1 -0
- package/build/mjs/runtime/api.d.ts +4 -3
- package/build/mjs/runtime/api.js +4 -3
- package/build/mjs/runtime/api.js.map +1 -1
- package/build/mjs/runtime/index.d.ts +1 -1
- package/build/mjs/runtime/index.js +14 -1
- package/build/mjs/runtime/index.js.map +1 -1
- package/build/mjs/runtime/scope.d.ts +1 -1
- package/build/mjs/utils/matchers.d.ts +12 -0
- package/build/mjs/utils/matchers.js +35 -0
- package/build/mjs/utils/matchers.js.map +1 -1
- package/build/mjs/vendor/eas.d.ts +4 -1
- package/build/mjs/vendor/eas.js +8 -6
- package/build/mjs/vendor/eas.js.map +1 -1
- package/build/mjs/vendor/environment/common.d.ts +5 -3
- package/build/mjs/vendor/environment/common.js +47 -23
- package/build/mjs/vendor/environment/common.js.map +1 -1
- package/build/mjs/vendor/environment/node.d.ts +2 -7
- package/build/mjs/vendor/environment/node.js +10 -1
- package/build/mjs/vendor/environment/node.js.map +1 -1
- package/build/mjs/vendor/environment/workerd.d.ts +2 -7
- package/build/mjs/vendor/environment/workerd.js +10 -1
- package/build/mjs/vendor/environment/workerd.js.map +1 -1
- package/build/mjs/vendor/express.d.ts +1 -3
- package/build/mjs/vendor/express.js +2 -61
- package/build/mjs/vendor/express.js.map +1 -1
- package/build/mjs/vendor/http.d.ts +4 -2
- package/build/mjs/vendor/http.js +33 -32
- package/build/mjs/vendor/http.js.map +1 -1
- package/build/mjs/vendor/netlify.js +1 -1
- package/build/mjs/vendor/netlify.js.map +1 -1
- package/build/mjs/vendor/vercel.js +1 -1
- package/build/mjs/vendor/vercel.js.map +1 -1
- package/build/mjs/vendor/workerd.d.ts +4 -1
- package/build/mjs/vendor/workerd.js +7 -5
- package/build/mjs/vendor/workerd.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,11 +5,13 @@ interface EnvironmentInput {
|
|
|
5
5
|
loadModule(request: string): Promise<unknown>;
|
|
6
6
|
isDevelopment: boolean;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
9
|
-
getRoutesManifest(): Promise<Manifest>;
|
|
8
|
+
export interface CommonEnvironment {
|
|
9
|
+
getRoutesManifest(): Promise<Manifest | null>;
|
|
10
10
|
getHtml(request: Request, route: Route): Promise<string | Response | null>;
|
|
11
11
|
getApiRoute(route: Route): Promise<unknown>;
|
|
12
12
|
getMiddleware(middleware: MiddlewareInfo): Promise<any>;
|
|
13
13
|
getLoaderData(request: Request, route: Route): Promise<Response>;
|
|
14
|
-
|
|
14
|
+
preload(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare function createEnvironment(input: EnvironmentInput): CommonEnvironment;
|
|
15
17
|
export {};
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import { ImmutableRequest } from '../../ImmutableRequest';
|
|
2
|
-
import { isResponse, parseParams } from '../../utils/matchers';
|
|
2
|
+
import { isResponse, parseParams, resolveLoaderContextKey } from '../../utils/matchers';
|
|
3
3
|
function initManifestRegExp(manifest) {
|
|
4
4
|
return {
|
|
5
5
|
...manifest,
|
|
6
|
-
htmlRoutes: manifest.htmlRoutes
|
|
6
|
+
htmlRoutes: manifest.htmlRoutes?.map((route) => ({
|
|
7
7
|
...route,
|
|
8
8
|
namedRegex: new RegExp(route.namedRegex),
|
|
9
|
-
})),
|
|
10
|
-
apiRoutes: manifest.apiRoutes
|
|
9
|
+
})) ?? [],
|
|
10
|
+
apiRoutes: manifest.apiRoutes?.map((route) => ({
|
|
11
11
|
...route,
|
|
12
12
|
namedRegex: new RegExp(route.namedRegex),
|
|
13
|
-
})),
|
|
14
|
-
notFoundRoutes: manifest.notFoundRoutes
|
|
13
|
+
})) ?? [],
|
|
14
|
+
notFoundRoutes: manifest.notFoundRoutes?.map((route) => ({
|
|
15
15
|
...route,
|
|
16
16
|
namedRegex: new RegExp(route.namedRegex),
|
|
17
|
-
})),
|
|
17
|
+
})) ?? [],
|
|
18
18
|
redirects: manifest.redirects?.map((route) => ({
|
|
19
19
|
...route,
|
|
20
20
|
namedRegex: new RegExp(route.namedRegex),
|
|
21
|
-
})),
|
|
21
|
+
})) ?? [],
|
|
22
22
|
rewrites: manifest.rewrites?.map((route) => ({
|
|
23
23
|
...route,
|
|
24
24
|
namedRegex: new RegExp(route.namedRegex),
|
|
25
|
-
})),
|
|
25
|
+
})) ?? [],
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
export function createEnvironment(input) {
|
|
29
29
|
// Cached manifest and SSR renderer, initialized on first request
|
|
30
|
-
let cachedManifest
|
|
30
|
+
let cachedManifest;
|
|
31
31
|
let ssrRenderer = null;
|
|
32
|
-
async function
|
|
33
|
-
if (
|
|
32
|
+
async function getRoutesManifest() {
|
|
33
|
+
if (cachedManifest === undefined || input.isDevelopment) {
|
|
34
34
|
const json = await input.readJson('_expo/routes.json');
|
|
35
|
-
cachedManifest = initManifestRegExp(json);
|
|
35
|
+
cachedManifest = json ? initManifestRegExp(json) : null;
|
|
36
36
|
}
|
|
37
37
|
return cachedManifest;
|
|
38
38
|
}
|
|
@@ -40,8 +40,8 @@ export function createEnvironment(input) {
|
|
|
40
40
|
if (ssrRenderer && !input.isDevelopment) {
|
|
41
41
|
return ssrRenderer;
|
|
42
42
|
}
|
|
43
|
-
const manifest = await
|
|
44
|
-
if (manifest
|
|
43
|
+
const manifest = await getRoutesManifest();
|
|
44
|
+
if (manifest?.rendering?.mode !== 'ssr') {
|
|
45
45
|
return null;
|
|
46
46
|
}
|
|
47
47
|
// If `manifest.rendering.mode === 'ssr'`, we always expect the SSR rendering module to be
|
|
@@ -62,7 +62,7 @@ export function createEnvironment(input) {
|
|
|
62
62
|
};
|
|
63
63
|
return ssrRenderer;
|
|
64
64
|
}
|
|
65
|
-
async function executeLoader(request, route) {
|
|
65
|
+
async function executeLoader(request, route, params) {
|
|
66
66
|
if (!route.loader) {
|
|
67
67
|
return undefined;
|
|
68
68
|
}
|
|
@@ -70,13 +70,10 @@ export function createEnvironment(input) {
|
|
|
70
70
|
if (!loaderModule) {
|
|
71
71
|
throw new Error(`Loader module not found at: ${route.loader}`);
|
|
72
72
|
}
|
|
73
|
-
const params = parseParams(request, route);
|
|
74
73
|
return loaderModule.loader(new ImmutableRequest(request), params);
|
|
75
74
|
}
|
|
76
75
|
return {
|
|
77
|
-
|
|
78
|
-
return getCachedRoutesManifest();
|
|
79
|
-
},
|
|
76
|
+
getRoutesManifest,
|
|
80
77
|
async getHtml(request, route) {
|
|
81
78
|
// SSR path: Render at runtime if SSR module is available
|
|
82
79
|
const renderer = await getServerRenderer();
|
|
@@ -84,9 +81,15 @@ export function createEnvironment(input) {
|
|
|
84
81
|
let renderOptions;
|
|
85
82
|
try {
|
|
86
83
|
if (route.loader) {
|
|
87
|
-
const
|
|
84
|
+
const params = parseParams(request, route);
|
|
85
|
+
const result = await executeLoader(request, route, params);
|
|
88
86
|
const data = isResponse(result) ? await result.json() : result;
|
|
89
|
-
renderOptions = {
|
|
87
|
+
renderOptions = {
|
|
88
|
+
loader: {
|
|
89
|
+
data: data ?? null,
|
|
90
|
+
key: resolveLoaderContextKey(route.page, params),
|
|
91
|
+
},
|
|
92
|
+
};
|
|
90
93
|
}
|
|
91
94
|
return await renderer(request, renderOptions);
|
|
92
95
|
}
|
|
@@ -122,12 +125,33 @@ export function createEnvironment(input) {
|
|
|
122
125
|
return mod;
|
|
123
126
|
},
|
|
124
127
|
async getLoaderData(request, route) {
|
|
125
|
-
const
|
|
128
|
+
const params = parseParams(request, route);
|
|
129
|
+
const result = await executeLoader(request, route, params);
|
|
126
130
|
if (isResponse(result)) {
|
|
127
131
|
return result;
|
|
128
132
|
}
|
|
129
133
|
return Response.json(result ?? null);
|
|
130
134
|
},
|
|
135
|
+
async preload() {
|
|
136
|
+
if (input.isDevelopment) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const manifest = await getRoutesManifest();
|
|
140
|
+
if (manifest) {
|
|
141
|
+
const requests = [];
|
|
142
|
+
if (manifest.middleware)
|
|
143
|
+
requests.push(manifest.middleware.file);
|
|
144
|
+
if (manifest.rendering)
|
|
145
|
+
requests.push(manifest.rendering.file);
|
|
146
|
+
for (const apiRoute of manifest.apiRoutes)
|
|
147
|
+
requests.push(apiRoute.file);
|
|
148
|
+
for (const htmlRoute of manifest.htmlRoutes) {
|
|
149
|
+
if (htmlRoute.loader)
|
|
150
|
+
requests.push(htmlRoute.loader);
|
|
151
|
+
}
|
|
152
|
+
await Promise.all(requests.map((request) => input.loadModule(request)));
|
|
153
|
+
}
|
|
154
|
+
},
|
|
131
155
|
};
|
|
132
156
|
}
|
|
133
157
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/vendor/environment/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/vendor/environment/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
+
import { type CommonEnvironment } from './common';
|
|
1
2
|
import type { ScopeDefinition } from '../../runtime/scope';
|
|
2
3
|
interface NodeEnvParams {
|
|
3
4
|
build: string;
|
|
4
5
|
environment?: string | null;
|
|
5
6
|
isDevelopment?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function createNodeEnv(params: NodeEnvParams):
|
|
8
|
-
getRoutesManifest(): Promise<import("../../manifest").Manifest>;
|
|
9
|
-
getHtml(request: Request, route: import("../../manifest").Route): Promise<string | Response | null>;
|
|
10
|
-
getApiRoute(route: import("../../manifest").Route): Promise<unknown>;
|
|
11
|
-
getMiddleware(middleware: import("../../manifest").MiddlewareInfo): Promise<any>;
|
|
12
|
-
getLoaderData(request: Request, route: import("../../manifest").Route): Promise<Response>;
|
|
13
|
-
};
|
|
8
|
+
export declare function createNodeEnv(params: NodeEnvParams): CommonEnvironment;
|
|
14
9
|
export declare function createNodeRequestScope(scopeDefinition: ScopeDefinition, params: NodeEnvParams): (fn: (request: Request) => Promise<Response>, request: Request) => Promise<Response>;
|
|
15
10
|
export {};
|
|
@@ -40,10 +40,19 @@ export function createNodeEnv(params) {
|
|
|
40
40
|
isDevelopment: params.isDevelopment ?? false,
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
+
const getRequestURLOrigin = (request) => {
|
|
44
|
+
try {
|
|
45
|
+
// NOTE: We don't trust any headers on incoming requests in "raw" environments
|
|
46
|
+
return new URL(request.url).origin || null;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
43
52
|
export function createNodeRequestScope(scopeDefinition, params) {
|
|
44
53
|
return createRequestScope(scopeDefinition, (request) => ({
|
|
45
54
|
requestHeaders: request.headers,
|
|
46
|
-
origin: request
|
|
55
|
+
origin: getRequestURLOrigin(request),
|
|
47
56
|
environment: params.environment ?? process.env.NODE_ENV,
|
|
48
57
|
}));
|
|
49
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/vendor/environment/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/vendor/environment/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAA0B,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AASnD,MAAM,UAAU,aAAa,CAAC,MAAqB;IACjD,4BAA4B,EAAE,CAAC;IAE/B,KAAK,UAAU,QAAQ,CAAC,OAAe;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,OAAe;QACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,OAAe;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;QACvB,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC/C,IAAI,CAAC;QACH,8EAA8E;QAC9E,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,eAAgC,EAAE,MAAqB;IAC5F,OAAO,kBAAkB,CAAC,eAAe,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;QAChE,cAAc,EAAE,OAAO,CAAC,OAAO;QAC/B,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;QACpC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;KACxD,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
+
import { type CommonEnvironment } from './common';
|
|
1
2
|
import type { ScopeDefinition } from '../../runtime/scope';
|
|
2
3
|
interface WorkerdEnvParams {
|
|
3
4
|
build?: string;
|
|
4
5
|
environment?: string | null;
|
|
5
6
|
isDevelopment?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function createWorkerdEnv(params: WorkerdEnvParams):
|
|
8
|
-
getRoutesManifest(): Promise<import("../../manifest").Manifest>;
|
|
9
|
-
getHtml(request: Request, route: import("../../manifest").Route): Promise<string | Response | null>;
|
|
10
|
-
getApiRoute(route: import("../../manifest").Route): Promise<unknown>;
|
|
11
|
-
getMiddleware(middleware: import("../../manifest").MiddlewareInfo): Promise<any>;
|
|
12
|
-
getLoaderData(request: Request, route: import("../../manifest").Route): Promise<Response>;
|
|
13
|
-
};
|
|
8
|
+
export declare function createWorkerdEnv(params: WorkerdEnvParams): CommonEnvironment;
|
|
14
9
|
export interface ExecutionContext {
|
|
15
10
|
waitUntil?(promise: Promise<any>): void;
|
|
16
11
|
props?: any;
|
|
@@ -58,10 +58,19 @@ export function createWorkerdEnv(params) {
|
|
|
58
58
|
isDevelopment: params.isDevelopment ?? false,
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
|
+
const getRequestURLOrigin = (request) => {
|
|
62
|
+
try {
|
|
63
|
+
// NOTE: We don't trust any headers on incoming requests in "raw" environments
|
|
64
|
+
return new URL(request.url).origin || null;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
61
70
|
export function createWorkerdRequestScope(scopeDefinition, params) {
|
|
62
71
|
const makeRequestAPISetup = (request, _env, ctx) => ({
|
|
63
72
|
requestHeaders: request.headers,
|
|
64
|
-
origin: request
|
|
73
|
+
origin: getRequestURLOrigin(request),
|
|
65
74
|
environment: params.environment ?? null,
|
|
66
75
|
waitUntil: ctx.waitUntil?.bind(ctx),
|
|
67
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerd.js","sourceRoot":"","sources":["../../../../src/vendor/environment/workerd.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"workerd.js","sourceRoot":"","sources":["../../../../src/vendor/environment/workerd.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,4 @@ export declare function createRequestHandler(params: {
|
|
|
12
12
|
build: string;
|
|
13
13
|
environment?: string | null;
|
|
14
14
|
}, setup?: RequestHandlerParams): RequestHandler;
|
|
15
|
-
export
|
|
16
|
-
export declare function convertRequest(req: express.Request, res: express.Response): Request;
|
|
17
|
-
export declare function respond(res: express.Response, expoRes: Response): Promise<void>;
|
|
15
|
+
export { convertRequest, respond } from './http';
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
-
import { Readable } from 'node:stream';
|
|
3
|
-
import { pipeline } from 'node:stream/promises';
|
|
4
2
|
import { createRequestHandler as createExpoHandler, } from './abstract';
|
|
5
3
|
import { createNodeEnv, createNodeRequestScope } from './environment/node';
|
|
4
|
+
import { respond, convertRequest } from './http';
|
|
6
5
|
export { ExpoError } from './abstract';
|
|
7
6
|
const STORE = new AsyncLocalStorage();
|
|
8
7
|
/**
|
|
@@ -47,63 +46,5 @@ export function createRequestHandler(params, setup) {
|
|
|
47
46
|
}
|
|
48
47
|
};
|
|
49
48
|
}
|
|
50
|
-
export
|
|
51
|
-
const headers = new Headers();
|
|
52
|
-
for (const [key, values] of Object.entries(requestHeaders)) {
|
|
53
|
-
if (values) {
|
|
54
|
-
if (Array.isArray(values)) {
|
|
55
|
-
for (const value of values) {
|
|
56
|
-
headers.append(key, value);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
headers.set(key, values);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return headers;
|
|
65
|
-
}
|
|
66
|
-
function convertRawHeaders(requestHeaders) {
|
|
67
|
-
const headers = new Headers();
|
|
68
|
-
for (let index = 0; index < requestHeaders.length; index += 2) {
|
|
69
|
-
headers.append(requestHeaders[index], requestHeaders[index + 1]);
|
|
70
|
-
}
|
|
71
|
-
return headers;
|
|
72
|
-
}
|
|
73
|
-
export function convertRequest(req, res) {
|
|
74
|
-
const url = new URL(`${req.protocol}://${req.get('host')}${req.url}`);
|
|
75
|
-
// Abort action/loaders once we can no longer write a response
|
|
76
|
-
const controller = new AbortController();
|
|
77
|
-
res.on('close', () => controller.abort());
|
|
78
|
-
const init = {
|
|
79
|
-
method: req.method,
|
|
80
|
-
headers: convertRawHeaders(req.rawHeaders),
|
|
81
|
-
// Cast until reason/throwIfAborted added
|
|
82
|
-
// https://github.com/mysticatea/abort-controller/issues/36
|
|
83
|
-
signal: controller.signal,
|
|
84
|
-
};
|
|
85
|
-
if (req.method !== 'GET' && req.method !== 'HEAD') {
|
|
86
|
-
init.body = Readable.toWeb(req);
|
|
87
|
-
init.duplex = 'half';
|
|
88
|
-
}
|
|
89
|
-
return new Request(url.href, init);
|
|
90
|
-
}
|
|
91
|
-
export async function respond(res, expoRes) {
|
|
92
|
-
res.statusMessage = expoRes.statusText;
|
|
93
|
-
res.status(expoRes.status);
|
|
94
|
-
if (typeof res.setHeaders === 'function') {
|
|
95
|
-
res.setHeaders(expoRes.headers);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
for (const [key, value] of expoRes.headers.entries()) {
|
|
99
|
-
res.appendHeader(key, value);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
if (expoRes.body) {
|
|
103
|
-
await pipeline(Readable.fromWeb(expoRes.body), res);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
res.end();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
49
|
+
export { convertRequest, respond } from './http';
|
|
109
50
|
//# sourceMappingURL=express.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.js","sourceRoot":"","sources":["../../../src/vendor/express.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"express.js","sourceRoot":"","sources":["../../../src/vendor/express.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EACL,oBAAoB,IAAI,iBAAiB,GAG1C,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQvC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAQtC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAsD,EACtD,KAA4B;IAE5B,MAAM,GAAG,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAClC,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,GAAG,KAAK;KACT,CAAC,CAAC;IAEH,KAAK,UAAU,cAAc,CAAC,OAAgB;QAC5C,IAAI,CAAC;YACH,OAAO,MAAM,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,gBAAgB,GAAG,KAAK,EAAE,gBAAgB,CAAC;YACjD,IAAI,gBAAgB,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnE,IAAI,CAAC;oBACH,OAAO,MAAM,gBAAgB,CAAC,KAAc,CAAC,CAAC;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBACP,+BAA+B;gBACjC,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,IAA0B,EAAE,EAAE;QACvF,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,wEAAwE;YACxE,+BAA+B;YAC/B,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -15,5 +15,7 @@ export declare function createRequestHandler(params: {
|
|
|
15
15
|
isDevelopment?: boolean;
|
|
16
16
|
}, setup?: Partial<RequestHandlerParams>): RequestHandler;
|
|
17
17
|
export declare function convertRequest(req: http.IncomingMessage, res: http.ServerResponse): Request;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
interface RespondOptions {
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
}
|
|
21
|
+
export declare function respond(nodeResponse: http.ServerResponse, webResponse: Response, options?: RespondOptions): Promise<void>;
|
package/build/mjs/vendor/http.js
CHANGED
|
@@ -38,7 +38,7 @@ export function createRequestHandler(params, setup) {
|
|
|
38
38
|
try {
|
|
39
39
|
const request = convertRequest(req, res);
|
|
40
40
|
const response = await requestHandler(request);
|
|
41
|
-
await respond(res, response);
|
|
41
|
+
await respond(res, response, { signal: request.signal });
|
|
42
42
|
}
|
|
43
43
|
catch (error) {
|
|
44
44
|
// http doesn't support async functions, so we have to pass along the
|
|
@@ -57,14 +57,14 @@ function convertRawHeaders(requestHeaders) {
|
|
|
57
57
|
// Convert an http request to an expo request
|
|
58
58
|
export function convertRequest(req, res) {
|
|
59
59
|
const url = new URL(req.url, `http://${req.headers.host}`);
|
|
60
|
-
// Abort action/loaders once we can no longer write a response
|
|
60
|
+
// Abort action/loaders once we can no longer write a response or request aborts
|
|
61
61
|
const controller = new AbortController();
|
|
62
|
-
res.
|
|
62
|
+
res.once('close', () => controller.abort());
|
|
63
|
+
res.once('error', (err) => controller.abort(err));
|
|
64
|
+
req.once('error', (err) => controller.abort(err));
|
|
63
65
|
const init = {
|
|
64
66
|
method: req.method,
|
|
65
67
|
headers: convertRawHeaders(req.rawHeaders),
|
|
66
|
-
// Cast until reason/throwIfAborted added
|
|
67
|
-
// https://github.com/mysticatea/abort-controller/issues/36
|
|
68
68
|
signal: controller.signal,
|
|
69
69
|
};
|
|
70
70
|
if (req.method !== 'GET' && req.method !== 'HEAD') {
|
|
@@ -73,39 +73,40 @@ export function convertRequest(req, res) {
|
|
|
73
73
|
}
|
|
74
74
|
return new Request(url.href, init);
|
|
75
75
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
76
|
+
/** Assign Headers to a Node.js OutgoingMessage (request) */
|
|
77
|
+
const assignOutgoingMessageHeaders = (outgoing, headers) => {
|
|
78
|
+
// Preassemble array headers, mostly only for Set-Cookie
|
|
79
|
+
// We're avoiding `getSetCookie` since support is unclear in Node 18
|
|
80
|
+
const collection = {};
|
|
81
|
+
for (const [key, value] of headers) {
|
|
82
|
+
if (Array.isArray(collection[key])) {
|
|
83
|
+
collection[key].push(value);
|
|
84
|
+
}
|
|
85
|
+
else if (collection[key] != null) {
|
|
86
|
+
collection[key] = [collection[key], value];
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
collection[key] = value;
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
res.statusMessage = expoRes.statusText;
|
|
95
|
-
res.statusCode = expoRes.status;
|
|
96
|
-
if (typeof res.setHeaders === 'function') {
|
|
97
|
-
res.setHeaders(expoRes.headers);
|
|
92
|
+
// We don't use `setHeaders` due to a Bun bug (Fix: https://github.com/oven-sh/bun/pull/27050)
|
|
93
|
+
for (const key in collection) {
|
|
94
|
+
outgoing.setHeader(key, collection[key]);
|
|
98
95
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
};
|
|
97
|
+
export async function respond(nodeResponse, webResponse, options) {
|
|
98
|
+
if (nodeResponse.writableEnded || nodeResponse.destroyed) {
|
|
99
|
+
return;
|
|
103
100
|
}
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
nodeResponse.statusMessage = webResponse.statusText;
|
|
102
|
+
nodeResponse.statusCode = webResponse.status;
|
|
103
|
+
assignOutgoingMessageHeaders(nodeResponse, webResponse.headers);
|
|
104
|
+
if (webResponse.body && !options?.signal?.aborted) {
|
|
105
|
+
const body = Readable.fromWeb(webResponse.body);
|
|
106
|
+
await pipeline(body, nodeResponse, { signal: options?.signal });
|
|
106
107
|
}
|
|
107
108
|
else {
|
|
108
|
-
|
|
109
|
+
nodeResponse.end();
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
//# sourceMappingURL=http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/vendor/http.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EACL,oBAAoB,IAAI,iBAAiB,GAG1C,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUvC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAQtC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA+E,EAC/E,KAAqC;IAErC,MAAM,GAAG,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAClC,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,GAAG,KAAK;KACT,CAAC,CAAC;IAEH,KAAK,UAAU,cAAc,CAAC,OAAgB;QAC5C,IAAI,CAAC;YACH,OAAO,MAAM,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,gBAAgB,GAAG,KAAK,EAAE,gBAAgB,CAAC;YACjD,IAAI,gBAAgB,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnE,IAAI,CAAC;oBACH,OAAO,MAAM,gBAAgB,CAAC,KAAc,CAAC,CAAC;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBACP,+BAA+B;gBACjC,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,EAAE,GAAyB,EAAE,GAAwB,EAAE,IAAkB,EAAE,EAAE;QACvF,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/vendor/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ const STORE = {
|
|
|
24
24
|
};
|
|
25
25
|
export function createRequestHandler(params) {
|
|
26
26
|
const makeRequestAPISetup = (request, context) => ({
|
|
27
|
-
origin: (context ?? getContext()).site?.url || request.headers.get('Origin') ||
|
|
27
|
+
origin: (context ?? getContext()).site?.url || request.headers.get('Origin') || null,
|
|
28
28
|
environment: (context ?? getContext()).deploy?.context || null,
|
|
29
29
|
waitUntil: (context ?? getContext()).waitUntil,
|
|
30
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"netlify.js","sourceRoot":"","sources":["../../../src/vendor/netlify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AASlD,yFAAyF;AACzF,SAAS,UAAU;IACjB,MAAM,UAAU,GAEZ,UAAU,CAAC;IACf,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,iDAAiD;YAC/C,gEAAgE;YAChE,wFAAwF,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,kFAAkF;AAClF,mCAAmC;AACnC,MAAM,KAAK,GAAoB;IAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;IACzC,GAAG,CAAC,KAAU,EAAE,MAA+B,EAAE,GAAG,IAAW;QAC7D,UAAU,EAAE,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,OAAwB,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"netlify.js","sourceRoot":"","sources":["../../../src/vendor/netlify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AASlD,yFAAyF;AACzF,SAAS,UAAU;IACjB,MAAM,UAAU,GAEZ,UAAU,CAAC;IACf,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,iDAAiD;YAC/C,gEAAgE;YAChE,wFAAwF,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,kFAAkF;AAClF,mCAAmC;AACnC,MAAM,KAAK,GAAoB;IAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;IACzC,GAAG,CAAC,KAAU,EAAE,MAA+B,EAAE,GAAG,IAAW;QAC7D,UAAU,EAAE,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,OAAwB,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;QACpF,WAAW,EAAE,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI;QAC9D,SAAS,EAAE,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC,SAAS;KAC/C,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,OAAO,KAAK,EAAE,GAAY,EAAE,GAAoB,EAAE,EAAE;QAClD,IAAI,mBAAmB,IAAI,GAAG,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,6EAA6E;gBAC3E,wFAAwF,CAC3F,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -30,7 +30,7 @@ export function createRequestHandler(params) {
|
|
|
30
30
|
const host = request.headers.get('host');
|
|
31
31
|
const proto = request.headers.get('x-forwarded-proto') || 'https';
|
|
32
32
|
return {
|
|
33
|
-
origin: host ? `${proto}://${host}` :
|
|
33
|
+
origin: host ? `${proto}://${host}` : null,
|
|
34
34
|
// See: https://github.com/vercel/vercel/blob/b189b39/packages/functions/src/get-env.ts#L25C3-L25C13
|
|
35
35
|
environment: process.env.VERCEL_ENV ?? process.env.NODE_ENV,
|
|
36
36
|
waitUntil: getContext().waitUntil,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../src/vendor/vercel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,oBAAoB,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAOlD,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAErE,+FAA+F;AAC/F,SAAS,UAAU;IACjB,MAAM,UAAU,GAEZ,UAAU,CAAC;IACf,OAAO,UAAU,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,gFAAgF;AAChF,mCAAmC;AACnC,MAAM,KAAK,GAAoB;IAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;IACzC,GAAG,CAAC,KAAU,EAAE,MAA+B,EAAE,GAAG,IAAW;QAC7D,UAAU,EAAE,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC;QAClE,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../src/vendor/vercel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { type RequestHandlerParams } from './abstract';
|
|
2
2
|
import { ExecutionContext } from './environment/workerd';
|
|
3
3
|
export { ExpoError } from './abstract';
|
|
4
|
-
export
|
|
4
|
+
export interface RequestHandler<Env = unknown> {
|
|
5
|
+
(req: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
|
|
6
|
+
preload(): Promise<void>;
|
|
7
|
+
}
|
|
5
8
|
/**
|
|
6
9
|
* Returns a request handler for Workerd deployments.
|
|
7
10
|
*/
|
|
@@ -8,10 +8,12 @@ const STORE = new AsyncLocalStorage();
|
|
|
8
8
|
*/
|
|
9
9
|
export function createRequestHandler(params, setup) {
|
|
10
10
|
const run = createWorkerdRequestScope(STORE, params);
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const common = createWorkerdEnv(params);
|
|
12
|
+
const onRequest = createExpoHandler({ ...common, ...setup });
|
|
13
|
+
function handler(request, env, ctx) {
|
|
14
|
+
return run(onRequest, request, env, ctx);
|
|
15
|
+
}
|
|
16
|
+
handler.preload = common.preload;
|
|
17
|
+
return handler;
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=workerd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerd.js","sourceRoot":"","sources":["../../../src/vendor/workerd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,oBAAoB,IAAI,iBAAiB,EAA6B,MAAM,YAAY,CAAC;AAClG,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"workerd.js","sourceRoot":"","sources":["../../../src/vendor/workerd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,oBAAoB,IAAI,iBAAiB,EAA6B,MAAM,YAAY,CAAC;AAClG,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAsD,EACtD,KAA4B;IAE5B,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAE7D,SAAS,OAAO,CAAC,OAAgB,EAAE,GAAQ,EAAE,GAAqB;QAChE,OAAO,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|