@whatwg-node/server 0.9.8 → 0.9.9-rc-20230807155504-cf6c2ea
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/cjs/createServerAdapter.js +54 -46
- package/esm/createServerAdapter.js +54 -46
- package/package.json +1 -1
|
@@ -51,58 +51,66 @@ function createServerAdapter(serverAdapterBaseObject, options) {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
requestHandler,
|
|
69
|
-
setRequestHandler(newRequestHandler) {
|
|
70
|
-
requestHandler = newRequestHandler;
|
|
71
|
-
},
|
|
72
|
-
endResponse(newResponse) {
|
|
73
|
-
response = newResponse;
|
|
74
|
-
if (newResponse) {
|
|
75
|
-
stopEarly();
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
}));
|
|
79
|
-
function handleResponse(response) {
|
|
80
|
-
const onResponseHookPayload = {
|
|
54
|
+
const handleRequest = onRequestHooks.length > 0 || onResponseHooks.length > 0
|
|
55
|
+
? function handleRequest(request, serverContext) {
|
|
56
|
+
let requestHandler = givenHandleRequest;
|
|
57
|
+
let response;
|
|
58
|
+
if (onRequestHooks.length === 0) {
|
|
59
|
+
return handleEarlyResponse();
|
|
60
|
+
}
|
|
61
|
+
let url = new Proxy(EMPTY_OBJECT, {
|
|
62
|
+
get(_target, prop, _receiver) {
|
|
63
|
+
url = new fetchAPI.URL(request.url, 'http://localhost');
|
|
64
|
+
return Reflect.get(url, prop, url);
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
const onRequestHooksIteration$ = (0, utils_js_1.iterateAsyncVoid)(onRequestHooks, (onRequestHook, stopEarly) => onRequestHook({
|
|
81
68
|
request,
|
|
82
|
-
response,
|
|
83
69
|
serverContext,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
70
|
+
fetchAPI,
|
|
71
|
+
url,
|
|
72
|
+
requestHandler,
|
|
73
|
+
setRequestHandler(newRequestHandler) {
|
|
74
|
+
requestHandler = newRequestHandler;
|
|
75
|
+
},
|
|
76
|
+
endResponse(newResponse) {
|
|
77
|
+
response = newResponse;
|
|
78
|
+
if (newResponse) {
|
|
79
|
+
stopEarly();
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
}));
|
|
83
|
+
function handleResponse(response) {
|
|
84
|
+
if (onRequestHooks.length === 0) {
|
|
85
|
+
return response;
|
|
86
|
+
}
|
|
87
|
+
const onResponseHookPayload = {
|
|
88
|
+
request,
|
|
89
|
+
response,
|
|
90
|
+
serverContext,
|
|
91
|
+
};
|
|
92
|
+
const onResponseHooksIteration$ = (0, utils_js_1.iterateAsyncVoid)(onResponseHooks, onResponseHook => onResponseHook(onResponseHookPayload));
|
|
93
|
+
if ((0, utils_js_1.isPromise)(onResponseHooksIteration$)) {
|
|
94
|
+
return onResponseHooksIteration$.then(() => response);
|
|
95
|
+
}
|
|
96
|
+
return response;
|
|
88
97
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return response
|
|
98
|
+
function handleEarlyResponse() {
|
|
99
|
+
if (!response) {
|
|
100
|
+
const response$ = requestHandler(request, serverContext);
|
|
101
|
+
if ((0, utils_js_1.isPromise)(response$)) {
|
|
102
|
+
return response$.then(handleResponse);
|
|
103
|
+
}
|
|
104
|
+
return handleResponse(response$);
|
|
96
105
|
}
|
|
97
|
-
return handleResponse(response
|
|
106
|
+
return handleResponse(response);
|
|
98
107
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
return
|
|
108
|
+
if ((0, utils_js_1.isPromise)(onRequestHooksIteration$)) {
|
|
109
|
+
return onRequestHooksIteration$.then(handleEarlyResponse);
|
|
110
|
+
}
|
|
111
|
+
return handleEarlyResponse();
|
|
103
112
|
}
|
|
104
|
-
|
|
105
|
-
}
|
|
113
|
+
: givenHandleRequest;
|
|
106
114
|
function handleNodeRequest(nodeRequest, ...ctx) {
|
|
107
115
|
const serverContext = ctx.length > 1 ? (0, utils_js_1.completeAssign)(...ctx) : ctx[0] || {};
|
|
108
116
|
const request = (0, utils_js_1.normalizeNodeRequest)(nodeRequest, fetchAPI.Request);
|
|
@@ -47,58 +47,66 @@ function createServerAdapter(serverAdapterBaseObject, options) {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
requestHandler,
|
|
65
|
-
setRequestHandler(newRequestHandler) {
|
|
66
|
-
requestHandler = newRequestHandler;
|
|
67
|
-
},
|
|
68
|
-
endResponse(newResponse) {
|
|
69
|
-
response = newResponse;
|
|
70
|
-
if (newResponse) {
|
|
71
|
-
stopEarly();
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
}));
|
|
75
|
-
function handleResponse(response) {
|
|
76
|
-
const onResponseHookPayload = {
|
|
50
|
+
const handleRequest = onRequestHooks.length > 0 || onResponseHooks.length > 0
|
|
51
|
+
? function handleRequest(request, serverContext) {
|
|
52
|
+
let requestHandler = givenHandleRequest;
|
|
53
|
+
let response;
|
|
54
|
+
if (onRequestHooks.length === 0) {
|
|
55
|
+
return handleEarlyResponse();
|
|
56
|
+
}
|
|
57
|
+
let url = new Proxy(EMPTY_OBJECT, {
|
|
58
|
+
get(_target, prop, _receiver) {
|
|
59
|
+
url = new fetchAPI.URL(request.url, 'http://localhost');
|
|
60
|
+
return Reflect.get(url, prop, url);
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
const onRequestHooksIteration$ = iterateAsyncVoid(onRequestHooks, (onRequestHook, stopEarly) => onRequestHook({
|
|
77
64
|
request,
|
|
78
|
-
response,
|
|
79
65
|
serverContext,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
66
|
+
fetchAPI,
|
|
67
|
+
url,
|
|
68
|
+
requestHandler,
|
|
69
|
+
setRequestHandler(newRequestHandler) {
|
|
70
|
+
requestHandler = newRequestHandler;
|
|
71
|
+
},
|
|
72
|
+
endResponse(newResponse) {
|
|
73
|
+
response = newResponse;
|
|
74
|
+
if (newResponse) {
|
|
75
|
+
stopEarly();
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
}));
|
|
79
|
+
function handleResponse(response) {
|
|
80
|
+
if (onRequestHooks.length === 0) {
|
|
81
|
+
return response;
|
|
82
|
+
}
|
|
83
|
+
const onResponseHookPayload = {
|
|
84
|
+
request,
|
|
85
|
+
response,
|
|
86
|
+
serverContext,
|
|
87
|
+
};
|
|
88
|
+
const onResponseHooksIteration$ = iterateAsyncVoid(onResponseHooks, onResponseHook => onResponseHook(onResponseHookPayload));
|
|
89
|
+
if (isPromise(onResponseHooksIteration$)) {
|
|
90
|
+
return onResponseHooksIteration$.then(() => response);
|
|
91
|
+
}
|
|
92
|
+
return response;
|
|
84
93
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return response
|
|
94
|
+
function handleEarlyResponse() {
|
|
95
|
+
if (!response) {
|
|
96
|
+
const response$ = requestHandler(request, serverContext);
|
|
97
|
+
if (isPromise(response$)) {
|
|
98
|
+
return response$.then(handleResponse);
|
|
99
|
+
}
|
|
100
|
+
return handleResponse(response$);
|
|
92
101
|
}
|
|
93
|
-
return handleResponse(response
|
|
102
|
+
return handleResponse(response);
|
|
94
103
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return
|
|
104
|
+
if (isPromise(onRequestHooksIteration$)) {
|
|
105
|
+
return onRequestHooksIteration$.then(handleEarlyResponse);
|
|
106
|
+
}
|
|
107
|
+
return handleEarlyResponse();
|
|
99
108
|
}
|
|
100
|
-
|
|
101
|
-
}
|
|
109
|
+
: givenHandleRequest;
|
|
102
110
|
function handleNodeRequest(nodeRequest, ...ctx) {
|
|
103
111
|
const serverContext = ctx.length > 1 ? completeAssign(...ctx) : ctx[0] || {};
|
|
104
112
|
const request = normalizeNodeRequest(nodeRequest, fetchAPI.Request);
|