@whatwg-node/server 0.9.8 → 0.9.9-rc-20230807163010-70e3d38

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.
@@ -51,58 +51,66 @@ function createServerAdapter(serverAdapterBaseObject, options) {
51
51
  }
52
52
  }
53
53
  }
54
- function handleRequest(request, serverContext) {
55
- let url = new Proxy(EMPTY_OBJECT, {
56
- get(_target, prop, _receiver) {
57
- url = new fetchAPI.URL(request.url, 'http://localhost');
58
- return Reflect.get(url, prop, url);
59
- },
60
- });
61
- let requestHandler = givenHandleRequest;
62
- let response;
63
- const onRequestHooksIteration$ = (0, utils_js_1.iterateAsyncVoid)(onRequestHooks, (onRequestHook, stopEarly) => onRequestHook({
64
- request,
65
- serverContext,
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
- 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
- const onResponseHooksIteration$ = (0, utils_js_1.iterateAsyncVoid)(onResponseHooks, onResponseHook => onResponseHook(onResponseHookPayload));
86
- if ((0, utils_js_1.isPromise)(onResponseHooksIteration$)) {
87
- return onResponseHooksIteration$.then(() => response);
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
- return response;
90
- }
91
- function handleEarlyResponse() {
92
- if (!response) {
93
- const response$ = requestHandler(request, serverContext);
94
- if ((0, utils_js_1.isPromise)(response$)) {
95
- return response$.then(handleResponse);
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
- return handleResponse(response);
100
- }
101
- if ((0, utils_js_1.isPromise)(onRequestHooksIteration$)) {
102
- return onRequestHooksIteration$.then(handleEarlyResponse);
108
+ if ((0, utils_js_1.isPromise)(onRequestHooksIteration$)) {
109
+ return onRequestHooksIteration$.then(handleEarlyResponse);
110
+ }
111
+ return handleEarlyResponse();
103
112
  }
104
- return handleEarlyResponse();
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);
@@ -116,25 +124,19 @@ function createServerAdapter(serverAdapterBaseObject, options) {
116
124
  };
117
125
  addWaitUntil(defaultServerContext, waitUntilPromises);
118
126
  const response$ = handleNodeRequest(nodeRequest, defaultServerContext, ...ctx);
119
- function handleFetchResponse(response) {
120
- try {
121
- if (serverResponse.closed || serverResponse.destroyed) {
122
- return;
123
- }
124
- if (response) {
125
- return (0, utils_js_1.sendNodeResponse)(response, serverResponse, nodeRequest);
126
- }
127
- serverResponse.statusCode = 404;
128
- serverResponse.end();
129
- }
130
- catch (e) {
131
- console.error(`Unexpected error: ${e.message || e}`);
132
- }
133
- }
134
127
  if ((0, utils_js_1.isPromise)(response$)) {
135
- return response$.then(handleFetchResponse);
128
+ return response$
129
+ .then(response => (0, utils_js_1.sendNodeResponse)(response, serverResponse, nodeRequest))
130
+ .catch(err => {
131
+ console.error(`Unexpected error while handling request: ${err.message || err}`);
132
+ });
133
+ }
134
+ try {
135
+ return (0, utils_js_1.sendNodeResponse)(response$, serverResponse, nodeRequest);
136
+ }
137
+ catch (err) {
138
+ console.error(`Unexpected error while handling request: ${err.message || err}`);
136
139
  }
137
- return handleFetchResponse(response$);
138
140
  }
139
141
  function handleUWS(res, req, ...ctx) {
140
142
  const waitUntilPromises = [];
@@ -154,29 +156,23 @@ function createServerAdapter(serverAdapterBaseObject, options) {
154
156
  resAborted = true;
155
157
  });
156
158
  const response$ = handleRequest(request, serverContext);
157
- function handleFetchResponse(response) {
158
- if (resAborted) {
159
- return;
160
- }
161
- try {
162
- if (!response) {
163
- res.writeStatus('404 Not Found');
164
- res.end();
165
- return;
159
+ if ((0, utils_js_1.isPromise)(response$)) {
160
+ return response$
161
+ .then(response => {
162
+ if (!resAborted) {
163
+ return (0, uwebsockets_js_1.sendResponseToUwsOpts)(res, response);
166
164
  }
167
- return (0, uwebsockets_js_1.sendResponseToUwsOpts)({
168
- response,
169
- res,
170
- });
171
- }
172
- catch (e) {
173
- console.error(`Unexpected error: ${e.message || e}`);
174
- }
165
+ })
166
+ .catch(err => {
167
+ console.error(`Unexpected error while handling request: ${err.message || err}`);
168
+ });
175
169
  }
176
- if ((0, utils_js_1.isPromise)(response$)) {
177
- return response$.then(handleFetchResponse);
170
+ try {
171
+ return (0, uwebsockets_js_1.sendResponseToUwsOpts)(res, response$);
172
+ }
173
+ catch (err) {
174
+ console.error(`Unexpected error while handling request: ${err.message || err}`);
178
175
  }
179
- return handleFetchResponse(response$);
180
176
  }
181
177
  function handleEvent(event, ...ctx) {
182
178
  if (!event.respondWith || !event.request) {
package/cjs/utils.js CHANGED
@@ -156,6 +156,14 @@ async function sendAsyncIterable(serverResponse, asyncIterable) {
156
156
  endResponse(serverResponse);
157
157
  }
158
158
  function sendNodeResponse(fetchResponse, serverResponse, nodeRequest) {
159
+ if (serverResponse.closed || serverResponse.destroyed) {
160
+ return;
161
+ }
162
+ if (!fetchResponse) {
163
+ serverResponse.statusCode = 404;
164
+ serverResponse.end();
165
+ return;
166
+ }
159
167
  serverResponse.statusCode = fetchResponse.status;
160
168
  serverResponse.statusMessage = fetchResponse.statusText;
161
169
  fetchResponse.headers.forEach((value, key) => {
@@ -70,55 +70,60 @@ function getRequestFromUWSRequest({ req, res, fetchAPI }) {
70
70
  });
71
71
  }
72
72
  exports.getRequestFromUWSRequest = getRequestFromUWSRequest;
73
- async function forwardResponseBodyToUWSResponse({ res, response }) {
73
+ async function forwardResponseBodyToUWSResponse(uwsResponse, fetchResponse) {
74
74
  let resAborted = false;
75
- res.onAborted(function () {
75
+ uwsResponse.onAborted(function () {
76
76
  resAborted = true;
77
77
  });
78
- for await (const chunk of response.body) {
78
+ for await (const chunk of fetchResponse.body) {
79
79
  if (resAborted) {
80
80
  return;
81
81
  }
82
- res.cork(() => {
83
- res.write(chunk);
82
+ uwsResponse.cork(() => {
83
+ uwsResponse.write(chunk);
84
84
  });
85
85
  }
86
- res.cork(() => {
87
- res.end();
86
+ uwsResponse.cork(() => {
87
+ uwsResponse.end();
88
88
  });
89
89
  }
90
- function sendResponseToUwsOpts({ res, response }) {
91
- const isStringOrBuffer = response.bodyType === 'Buffer' ||
92
- response.bodyType === 'String' ||
93
- response.bodyType === 'Uint8Array';
94
- res.cork(() => {
95
- res.writeStatus(`${response.status} ${response.statusText}`);
96
- for (const [key, value] of response.headers) {
90
+ function sendResponseToUwsOpts(uwsResponse, fetchResponse) {
91
+ if (!fetchResponse) {
92
+ uwsResponse.writeStatus('404 Not Found');
93
+ uwsResponse.end();
94
+ return;
95
+ }
96
+ const isStringOrBuffer = fetchResponse.bodyType === 'Buffer' ||
97
+ fetchResponse.bodyType === 'String' ||
98
+ fetchResponse.bodyType === 'Uint8Array';
99
+ uwsResponse.cork(() => {
100
+ uwsResponse.writeStatus(`${fetchResponse.status} ${fetchResponse.statusText}`);
101
+ for (const [key, value] of fetchResponse.headers) {
97
102
  // content-length causes an error with Node.js's fetch
98
103
  if (key !== 'content-length') {
99
104
  if (key === 'set-cookie') {
100
- const setCookies = response.headers.getSetCookie?.();
105
+ const setCookies = fetchResponse.headers.getSetCookie?.();
101
106
  if (setCookies) {
102
107
  for (const setCookie of setCookies) {
103
- res.writeHeader(key, setCookie);
108
+ uwsResponse.writeHeader(key, setCookie);
104
109
  }
105
110
  continue;
106
111
  }
107
112
  }
108
- res.writeHeader(key, value);
113
+ uwsResponse.writeHeader(key, value);
109
114
  }
110
115
  }
111
116
  if (isStringOrBuffer) {
112
- res.end(response.bodyInit);
117
+ uwsResponse.end(fetchResponse.bodyInit);
113
118
  }
114
119
  });
115
120
  if (isStringOrBuffer) {
116
121
  return;
117
122
  }
118
- if (!response.body) {
119
- res.end();
123
+ if (!fetchResponse.body) {
124
+ uwsResponse.end();
120
125
  return;
121
126
  }
122
- return forwardResponseBodyToUWSResponse({ res, response });
127
+ return forwardResponseBodyToUWSResponse(uwsResponse, fetchResponse);
123
128
  }
124
129
  exports.sendResponseToUwsOpts = sendResponseToUwsOpts;
@@ -47,58 +47,66 @@ function createServerAdapter(serverAdapterBaseObject, options) {
47
47
  }
48
48
  }
49
49
  }
50
- function handleRequest(request, serverContext) {
51
- let url = new Proxy(EMPTY_OBJECT, {
52
- get(_target, prop, _receiver) {
53
- url = new fetchAPI.URL(request.url, 'http://localhost');
54
- return Reflect.get(url, prop, url);
55
- },
56
- });
57
- let requestHandler = givenHandleRequest;
58
- let response;
59
- const onRequestHooksIteration$ = iterateAsyncVoid(onRequestHooks, (onRequestHook, stopEarly) => onRequestHook({
60
- request,
61
- serverContext,
62
- fetchAPI,
63
- url,
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
- const onResponseHooksIteration$ = iterateAsyncVoid(onResponseHooks, onResponseHook => onResponseHook(onResponseHookPayload));
82
- if (isPromise(onResponseHooksIteration$)) {
83
- return onResponseHooksIteration$.then(() => response);
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
- return response;
86
- }
87
- function handleEarlyResponse() {
88
- if (!response) {
89
- const response$ = requestHandler(request, serverContext);
90
- if (isPromise(response$)) {
91
- return response$.then(handleResponse);
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
- return handleResponse(response);
96
- }
97
- if (isPromise(onRequestHooksIteration$)) {
98
- return onRequestHooksIteration$.then(handleEarlyResponse);
104
+ if (isPromise(onRequestHooksIteration$)) {
105
+ return onRequestHooksIteration$.then(handleEarlyResponse);
106
+ }
107
+ return handleEarlyResponse();
99
108
  }
100
- return handleEarlyResponse();
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);
@@ -112,25 +120,19 @@ function createServerAdapter(serverAdapterBaseObject, options) {
112
120
  };
113
121
  addWaitUntil(defaultServerContext, waitUntilPromises);
114
122
  const response$ = handleNodeRequest(nodeRequest, defaultServerContext, ...ctx);
115
- function handleFetchResponse(response) {
116
- try {
117
- if (serverResponse.closed || serverResponse.destroyed) {
118
- return;
119
- }
120
- if (response) {
121
- return sendNodeResponse(response, serverResponse, nodeRequest);
122
- }
123
- serverResponse.statusCode = 404;
124
- serverResponse.end();
125
- }
126
- catch (e) {
127
- console.error(`Unexpected error: ${e.message || e}`);
128
- }
129
- }
130
123
  if (isPromise(response$)) {
131
- return response$.then(handleFetchResponse);
124
+ return response$
125
+ .then(response => sendNodeResponse(response, serverResponse, nodeRequest))
126
+ .catch(err => {
127
+ console.error(`Unexpected error while handling request: ${err.message || err}`);
128
+ });
129
+ }
130
+ try {
131
+ return sendNodeResponse(response$, serverResponse, nodeRequest);
132
+ }
133
+ catch (err) {
134
+ console.error(`Unexpected error while handling request: ${err.message || err}`);
132
135
  }
133
- return handleFetchResponse(response$);
134
136
  }
135
137
  function handleUWS(res, req, ...ctx) {
136
138
  const waitUntilPromises = [];
@@ -150,29 +152,23 @@ function createServerAdapter(serverAdapterBaseObject, options) {
150
152
  resAborted = true;
151
153
  });
152
154
  const response$ = handleRequest(request, serverContext);
153
- function handleFetchResponse(response) {
154
- if (resAborted) {
155
- return;
156
- }
157
- try {
158
- if (!response) {
159
- res.writeStatus('404 Not Found');
160
- res.end();
161
- return;
155
+ if (isPromise(response$)) {
156
+ return response$
157
+ .then(response => {
158
+ if (!resAborted) {
159
+ return sendResponseToUwsOpts(res, response);
162
160
  }
163
- return sendResponseToUwsOpts({
164
- response,
165
- res,
166
- });
167
- }
168
- catch (e) {
169
- console.error(`Unexpected error: ${e.message || e}`);
170
- }
161
+ })
162
+ .catch(err => {
163
+ console.error(`Unexpected error while handling request: ${err.message || err}`);
164
+ });
171
165
  }
172
- if (isPromise(response$)) {
173
- return response$.then(handleFetchResponse);
166
+ try {
167
+ return sendResponseToUwsOpts(res, response$);
168
+ }
169
+ catch (err) {
170
+ console.error(`Unexpected error while handling request: ${err.message || err}`);
174
171
  }
175
- return handleFetchResponse(response$);
176
172
  }
177
173
  function handleEvent(event, ...ctx) {
178
174
  if (!event.respondWith || !event.request) {
package/esm/utils.js CHANGED
@@ -146,6 +146,14 @@ async function sendAsyncIterable(serverResponse, asyncIterable) {
146
146
  endResponse(serverResponse);
147
147
  }
148
148
  export function sendNodeResponse(fetchResponse, serverResponse, nodeRequest) {
149
+ if (serverResponse.closed || serverResponse.destroyed) {
150
+ return;
151
+ }
152
+ if (!fetchResponse) {
153
+ serverResponse.statusCode = 404;
154
+ serverResponse.end();
155
+ return;
156
+ }
149
157
  serverResponse.statusCode = fetchResponse.status;
150
158
  serverResponse.statusMessage = fetchResponse.statusText;
151
159
  fetchResponse.headers.forEach((value, key) => {
@@ -65,54 +65,59 @@ export function getRequestFromUWSRequest({ req, res, fetchAPI }) {
65
65
  signal: new UWSAbortSignal(res),
66
66
  });
67
67
  }
68
- async function forwardResponseBodyToUWSResponse({ res, response }) {
68
+ async function forwardResponseBodyToUWSResponse(uwsResponse, fetchResponse) {
69
69
  let resAborted = false;
70
- res.onAborted(function () {
70
+ uwsResponse.onAborted(function () {
71
71
  resAborted = true;
72
72
  });
73
- for await (const chunk of response.body) {
73
+ for await (const chunk of fetchResponse.body) {
74
74
  if (resAborted) {
75
75
  return;
76
76
  }
77
- res.cork(() => {
78
- res.write(chunk);
77
+ uwsResponse.cork(() => {
78
+ uwsResponse.write(chunk);
79
79
  });
80
80
  }
81
- res.cork(() => {
82
- res.end();
81
+ uwsResponse.cork(() => {
82
+ uwsResponse.end();
83
83
  });
84
84
  }
85
- export function sendResponseToUwsOpts({ res, response }) {
86
- const isStringOrBuffer = response.bodyType === 'Buffer' ||
87
- response.bodyType === 'String' ||
88
- response.bodyType === 'Uint8Array';
89
- res.cork(() => {
90
- res.writeStatus(`${response.status} ${response.statusText}`);
91
- for (const [key, value] of response.headers) {
85
+ export function sendResponseToUwsOpts(uwsResponse, fetchResponse) {
86
+ if (!fetchResponse) {
87
+ uwsResponse.writeStatus('404 Not Found');
88
+ uwsResponse.end();
89
+ return;
90
+ }
91
+ const isStringOrBuffer = fetchResponse.bodyType === 'Buffer' ||
92
+ fetchResponse.bodyType === 'String' ||
93
+ fetchResponse.bodyType === 'Uint8Array';
94
+ uwsResponse.cork(() => {
95
+ uwsResponse.writeStatus(`${fetchResponse.status} ${fetchResponse.statusText}`);
96
+ for (const [key, value] of fetchResponse.headers) {
92
97
  // content-length causes an error with Node.js's fetch
93
98
  if (key !== 'content-length') {
94
99
  if (key === 'set-cookie') {
95
- const setCookies = response.headers.getSetCookie?.();
100
+ const setCookies = fetchResponse.headers.getSetCookie?.();
96
101
  if (setCookies) {
97
102
  for (const setCookie of setCookies) {
98
- res.writeHeader(key, setCookie);
103
+ uwsResponse.writeHeader(key, setCookie);
99
104
  }
100
105
  continue;
101
106
  }
102
107
  }
103
- res.writeHeader(key, value);
108
+ uwsResponse.writeHeader(key, value);
104
109
  }
105
110
  }
106
111
  if (isStringOrBuffer) {
107
- res.end(response.bodyInit);
112
+ uwsResponse.end(fetchResponse.bodyInit);
108
113
  }
109
114
  });
110
115
  if (isStringOrBuffer) {
111
116
  return;
112
117
  }
113
- if (!response.body) {
114
- res.end();
118
+ if (!fetchResponse.body) {
119
+ uwsResponse.end();
115
120
  return;
116
121
  }
117
- return forwardResponseBodyToUWSResponse({ res, response });
122
+ return forwardResponseBodyToUWSResponse(uwsResponse, fetchResponse);
118
123
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whatwg-node/server",
3
- "version": "0.9.8",
3
+ "version": "0.9.9-rc-20230807163010-70e3d38",
4
4
  "description": "Fetch API compliant HTTP Server adapter",
5
5
  "sideEffects": false,
6
6
  "dependencies": {
@@ -24,9 +24,5 @@ interface GetRequestFromUWSOpts {
24
24
  fetchAPI: FetchAPI;
25
25
  }
26
26
  export declare function getRequestFromUWSRequest({ req, res, fetchAPI }: GetRequestFromUWSOpts): Request;
27
- interface SendResponseToUWSOpts {
28
- res: UWSResponse;
29
- response: Response;
30
- }
31
- export declare function sendResponseToUwsOpts({ res, response }: SendResponseToUWSOpts): Promise<void> | undefined;
27
+ export declare function sendResponseToUwsOpts(uwsResponse: UWSResponse, fetchResponse: Response): Promise<void> | undefined;
32
28
  export {};
@@ -24,9 +24,5 @@ interface GetRequestFromUWSOpts {
24
24
  fetchAPI: FetchAPI;
25
25
  }
26
26
  export declare function getRequestFromUWSRequest({ req, res, fetchAPI }: GetRequestFromUWSOpts): Request;
27
- interface SendResponseToUWSOpts {
28
- res: UWSResponse;
29
- response: Response;
30
- }
31
- export declare function sendResponseToUwsOpts({ res, response }: SendResponseToUWSOpts): Promise<void> | undefined;
27
+ export declare function sendResponseToUwsOpts(uwsResponse: UWSResponse, fetchResponse: Response): Promise<void> | undefined;
32
28
  export {};