@trpc/server 9.18.0 → 9.20.1

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.
Files changed (44) hide show
  1. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +3 -2
  2. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +3 -2
  3. package/adapters/express/dist/trpc-server-adapters-express.esm.js +3 -2
  4. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +1 -0
  5. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +102 -0
  6. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +7 -0
  7. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +102 -0
  8. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +97 -0
  9. package/adapters/fastify/package.json +4 -0
  10. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +2 -1
  11. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +2 -1
  12. package/adapters/next/dist/trpc-server-adapters-next.esm.js +2 -1
  13. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +2 -1
  14. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +2 -1
  15. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +2 -1
  16. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +3 -2
  17. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +3 -2
  18. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +3 -2
  19. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +2 -1
  20. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +2 -1
  21. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +2 -1
  22. package/dist/declarations/src/adapters/fastify/fastifyRequestHandler.d.ts +13 -0
  23. package/dist/declarations/src/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -0
  24. package/dist/declarations/src/adapters/fastify/fastifyTRPCPlugin.d.ts +12 -0
  25. package/dist/declarations/src/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -0
  26. package/dist/declarations/src/adapters/fastify/index.d.ts +3 -0
  27. package/dist/declarations/src/adapters/fastify/index.d.ts.map +1 -0
  28. package/dist/declarations/src/adapters/ws.d.ts.map +1 -1
  29. package/dist/nodeHTTPRequestHandler-2cc444d8.cjs.dev.js +108 -0
  30. package/dist/nodeHTTPRequestHandler-8ddacc19.cjs.prod.js +108 -0
  31. package/dist/nodeHTTPRequestHandler-d00c1126.esm.js +106 -0
  32. package/dist/{nodeHTTPRequestHandler-b7ff366e.cjs.dev.js → resolveHTTPResponse-3867844c.cjs.dev.js} +0 -103
  33. package/dist/{nodeHTTPRequestHandler-7325b53f.cjs.prod.js → resolveHTTPResponse-562c3d62.cjs.prod.js} +0 -103
  34. package/dist/{nodeHTTPRequestHandler-2e6cc2d7.esm.js → resolveHTTPResponse-85f3f5df.esm.js} +1 -103
  35. package/dist/trpc-server.cjs.dev.js +9 -8
  36. package/dist/trpc-server.cjs.prod.js +9 -8
  37. package/dist/trpc-server.esm.js +4 -3
  38. package/package.json +8 -3
  39. package/src/adapters/express.ts +1 -1
  40. package/src/adapters/fastify/fastifyRequestHandler.ts +79 -0
  41. package/src/adapters/fastify/fastifyTRPCPlugin.ts +48 -0
  42. package/src/adapters/fastify/index.ts +2 -0
  43. package/src/adapters/standalone.ts +1 -1
  44. package/src/adapters/ws.ts +4 -1
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ var url = require('url');
4
+ var resolveHTTPResponse = require('./resolveHTTPResponse-3867844c.cjs.dev.js');
5
+ var transformTRPCResponse = require('./transformTRPCResponse-8248515e.cjs.dev.js');
6
+
7
+ async function getPostBody({
8
+ req,
9
+ maxBodySize
10
+ }) {
11
+ return new Promise(resolve => {
12
+ if ('body' in req) {
13
+ resolve({
14
+ ok: true,
15
+ data: req.body
16
+ });
17
+ return;
18
+ }
19
+
20
+ let body = '';
21
+ let hasBody = false;
22
+ req.on('data', function (data) {
23
+ body += data;
24
+ hasBody = true;
25
+
26
+ if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
27
+ resolve({
28
+ ok: false,
29
+ error: new transformTRPCResponse.TRPCError({
30
+ code: 'PAYLOAD_TOO_LARGE'
31
+ })
32
+ });
33
+ req.socket.destroy();
34
+ }
35
+ });
36
+ req.on('end', () => {
37
+ resolve({
38
+ ok: true,
39
+ data: hasBody ? body : undefined
40
+ });
41
+ });
42
+ });
43
+ }
44
+
45
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
46
+ resolveHTTPResponse.assertNotBrowser();
47
+ async function nodeHTTPRequestHandler(opts) {
48
+ var _opts$teardown;
49
+
50
+ const createContext = async function _createContext() {
51
+ var _opts$createContext;
52
+
53
+ return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
54
+ };
55
+
56
+ const {
57
+ path,
58
+ router
59
+ } = opts;
60
+ const bodyResult = await getPostBody(opts);
61
+ const query = opts.req.query ? new url.URLSearchParams(opts.req.query) : new url.URLSearchParams(opts.req.url.split('?')[1]);
62
+ const req = {
63
+ method: opts.req.method,
64
+ headers: opts.req.headers,
65
+ query,
66
+ body: bodyResult.ok ? bodyResult.data : undefined
67
+ };
68
+ const result = await resolveHTTPResponse.resolveHTTPResponse({
69
+ batching: opts.batching,
70
+ responseMeta: opts.responseMeta,
71
+ path,
72
+ createContext,
73
+ router,
74
+ req,
75
+ error: bodyResult.ok ? null : bodyResult.error,
76
+
77
+ onError(o) {
78
+ var _opts$onError;
79
+
80
+ opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
81
+ req: opts.req
82
+ });
83
+ }
84
+
85
+ });
86
+ const {
87
+ res
88
+ } = opts;
89
+
90
+ if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
91
+ res.statusCode = result.status;
92
+ }
93
+
94
+ for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
95
+ var _result$headers;
96
+
97
+ if (typeof value === 'undefined') {
98
+ continue;
99
+ }
100
+
101
+ res.setHeader(key, value);
102
+ }
103
+
104
+ res.end(result.body);
105
+ await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
106
+ }
107
+
108
+ exports.nodeHTTPRequestHandler = nodeHTTPRequestHandler;
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ var url = require('url');
4
+ var resolveHTTPResponse = require('./resolveHTTPResponse-562c3d62.cjs.prod.js');
5
+ var transformTRPCResponse = require('./transformTRPCResponse-dcbf66c5.cjs.prod.js');
6
+
7
+ async function getPostBody({
8
+ req,
9
+ maxBodySize
10
+ }) {
11
+ return new Promise(resolve => {
12
+ if ('body' in req) {
13
+ resolve({
14
+ ok: true,
15
+ data: req.body
16
+ });
17
+ return;
18
+ }
19
+
20
+ let body = '';
21
+ let hasBody = false;
22
+ req.on('data', function (data) {
23
+ body += data;
24
+ hasBody = true;
25
+
26
+ if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
27
+ resolve({
28
+ ok: false,
29
+ error: new transformTRPCResponse.TRPCError({
30
+ code: 'PAYLOAD_TOO_LARGE'
31
+ })
32
+ });
33
+ req.socket.destroy();
34
+ }
35
+ });
36
+ req.on('end', () => {
37
+ resolve({
38
+ ok: true,
39
+ data: hasBody ? body : undefined
40
+ });
41
+ });
42
+ });
43
+ }
44
+
45
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
46
+ resolveHTTPResponse.assertNotBrowser();
47
+ async function nodeHTTPRequestHandler(opts) {
48
+ var _opts$teardown;
49
+
50
+ const createContext = async function _createContext() {
51
+ var _opts$createContext;
52
+
53
+ return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
54
+ };
55
+
56
+ const {
57
+ path,
58
+ router
59
+ } = opts;
60
+ const bodyResult = await getPostBody(opts);
61
+ const query = opts.req.query ? new url.URLSearchParams(opts.req.query) : new url.URLSearchParams(opts.req.url.split('?')[1]);
62
+ const req = {
63
+ method: opts.req.method,
64
+ headers: opts.req.headers,
65
+ query,
66
+ body: bodyResult.ok ? bodyResult.data : undefined
67
+ };
68
+ const result = await resolveHTTPResponse.resolveHTTPResponse({
69
+ batching: opts.batching,
70
+ responseMeta: opts.responseMeta,
71
+ path,
72
+ createContext,
73
+ router,
74
+ req,
75
+ error: bodyResult.ok ? null : bodyResult.error,
76
+
77
+ onError(o) {
78
+ var _opts$onError;
79
+
80
+ opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
81
+ req: opts.req
82
+ });
83
+ }
84
+
85
+ });
86
+ const {
87
+ res
88
+ } = opts;
89
+
90
+ if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
91
+ res.statusCode = result.status;
92
+ }
93
+
94
+ for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
95
+ var _result$headers;
96
+
97
+ if (typeof value === 'undefined') {
98
+ continue;
99
+ }
100
+
101
+ res.setHeader(key, value);
102
+ }
103
+
104
+ res.end(result.body);
105
+ await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
106
+ }
107
+
108
+ exports.nodeHTTPRequestHandler = nodeHTTPRequestHandler;
@@ -0,0 +1,106 @@
1
+ import { URLSearchParams } from 'url';
2
+ import { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-85f3f5df.esm.js';
3
+ import { T as TRPCError } from './transformTRPCResponse-f73dc4a2.esm.js';
4
+
5
+ async function getPostBody({
6
+ req,
7
+ maxBodySize
8
+ }) {
9
+ return new Promise(resolve => {
10
+ if ('body' in req) {
11
+ resolve({
12
+ ok: true,
13
+ data: req.body
14
+ });
15
+ return;
16
+ }
17
+
18
+ let body = '';
19
+ let hasBody = false;
20
+ req.on('data', function (data) {
21
+ body += data;
22
+ hasBody = true;
23
+
24
+ if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
25
+ resolve({
26
+ ok: false,
27
+ error: new TRPCError({
28
+ code: 'PAYLOAD_TOO_LARGE'
29
+ })
30
+ });
31
+ req.socket.destroy();
32
+ }
33
+ });
34
+ req.on('end', () => {
35
+ resolve({
36
+ ok: true,
37
+ data: hasBody ? body : undefined
38
+ });
39
+ });
40
+ });
41
+ }
42
+
43
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
44
+ assertNotBrowser();
45
+ async function nodeHTTPRequestHandler(opts) {
46
+ var _opts$teardown;
47
+
48
+ const createContext = async function _createContext() {
49
+ var _opts$createContext;
50
+
51
+ return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
52
+ };
53
+
54
+ const {
55
+ path,
56
+ router
57
+ } = opts;
58
+ const bodyResult = await getPostBody(opts);
59
+ const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
60
+ const req = {
61
+ method: opts.req.method,
62
+ headers: opts.req.headers,
63
+ query,
64
+ body: bodyResult.ok ? bodyResult.data : undefined
65
+ };
66
+ const result = await resolveHTTPResponse({
67
+ batching: opts.batching,
68
+ responseMeta: opts.responseMeta,
69
+ path,
70
+ createContext,
71
+ router,
72
+ req,
73
+ error: bodyResult.ok ? null : bodyResult.error,
74
+
75
+ onError(o) {
76
+ var _opts$onError;
77
+
78
+ opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
79
+ req: opts.req
80
+ });
81
+ }
82
+
83
+ });
84
+ const {
85
+ res
86
+ } = opts;
87
+
88
+ if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
89
+ res.statusCode = result.status;
90
+ }
91
+
92
+ for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
93
+ var _result$headers;
94
+
95
+ if (typeof value === 'undefined') {
96
+ continue;
97
+ }
98
+
99
+ res.setHeader(key, value);
100
+ }
101
+
102
+ res.end(result.body);
103
+ await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
104
+ }
105
+
106
+ export { nodeHTTPRequestHandler as n };
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var url = require('url');
4
3
  var transformTRPCResponse = require('./transformTRPCResponse-8248515e.cjs.dev.js');
5
4
  var codes = require('./codes-33cef953.cjs.dev.js');
6
5
 
@@ -292,108 +291,6 @@ async function resolveHTTPResponse(opts) {
292
291
  }
293
292
  }
294
293
 
295
- async function getPostBody({
296
- req,
297
- maxBodySize
298
- }) {
299
- return new Promise(resolve => {
300
- if ('body' in req) {
301
- resolve({
302
- ok: true,
303
- data: req.body
304
- });
305
- return;
306
- }
307
-
308
- let body = '';
309
- let hasBody = false;
310
- req.on('data', function (data) {
311
- body += data;
312
- hasBody = true;
313
-
314
- if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
315
- resolve({
316
- ok: false,
317
- error: new transformTRPCResponse.TRPCError({
318
- code: 'PAYLOAD_TOO_LARGE'
319
- })
320
- });
321
- req.socket.destroy();
322
- }
323
- });
324
- req.on('end', () => {
325
- resolve({
326
- ok: true,
327
- data: hasBody ? body : undefined
328
- });
329
- });
330
- });
331
- }
332
-
333
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
334
- assertNotBrowser();
335
- async function nodeHTTPRequestHandler(opts) {
336
- var _opts$teardown;
337
-
338
- const createContext = async function _createContext() {
339
- var _opts$createContext;
340
-
341
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
342
- };
343
-
344
- const {
345
- path,
346
- router
347
- } = opts;
348
- const bodyResult = await getPostBody(opts);
349
- const query = opts.req.query ? new url.URLSearchParams(opts.req.query) : new url.URLSearchParams(opts.req.url.split('?')[1]);
350
- const req = {
351
- method: opts.req.method,
352
- headers: opts.req.headers,
353
- query,
354
- body: bodyResult.ok ? bodyResult.data : undefined
355
- };
356
- const result = await resolveHTTPResponse({
357
- batching: opts.batching,
358
- responseMeta: opts.responseMeta,
359
- path,
360
- createContext,
361
- router,
362
- req,
363
- error: bodyResult.ok ? null : bodyResult.error,
364
-
365
- onError(o) {
366
- var _opts$onError;
367
-
368
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
369
- req: opts.req
370
- });
371
- }
372
-
373
- });
374
- const {
375
- res
376
- } = opts;
377
-
378
- if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
379
- res.statusCode = result.status;
380
- }
381
-
382
- for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
383
- var _result$headers;
384
-
385
- if (typeof value === 'undefined') {
386
- continue;
387
- }
388
-
389
- res.setHeader(key, value);
390
- }
391
-
392
- res.end(result.body);
393
- await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
394
- }
395
-
396
294
  exports.assertNotBrowser = assertNotBrowser;
397
295
  exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
398
- exports.nodeHTTPRequestHandler = nodeHTTPRequestHandler;
399
296
  exports.resolveHTTPResponse = resolveHTTPResponse;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var url = require('url');
4
3
  var transformTRPCResponse = require('./transformTRPCResponse-dcbf66c5.cjs.prod.js');
5
4
  var codes = require('./codes-e0df67c4.cjs.prod.js');
6
5
 
@@ -292,108 +291,6 @@ async function resolveHTTPResponse(opts) {
292
291
  }
293
292
  }
294
293
 
295
- async function getPostBody({
296
- req,
297
- maxBodySize
298
- }) {
299
- return new Promise(resolve => {
300
- if ('body' in req) {
301
- resolve({
302
- ok: true,
303
- data: req.body
304
- });
305
- return;
306
- }
307
-
308
- let body = '';
309
- let hasBody = false;
310
- req.on('data', function (data) {
311
- body += data;
312
- hasBody = true;
313
-
314
- if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
315
- resolve({
316
- ok: false,
317
- error: new transformTRPCResponse.TRPCError({
318
- code: 'PAYLOAD_TOO_LARGE'
319
- })
320
- });
321
- req.socket.destroy();
322
- }
323
- });
324
- req.on('end', () => {
325
- resolve({
326
- ok: true,
327
- data: hasBody ? body : undefined
328
- });
329
- });
330
- });
331
- }
332
-
333
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
334
- assertNotBrowser();
335
- async function nodeHTTPRequestHandler(opts) {
336
- var _opts$teardown;
337
-
338
- const createContext = async function _createContext() {
339
- var _opts$createContext;
340
-
341
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
342
- };
343
-
344
- const {
345
- path,
346
- router
347
- } = opts;
348
- const bodyResult = await getPostBody(opts);
349
- const query = opts.req.query ? new url.URLSearchParams(opts.req.query) : new url.URLSearchParams(opts.req.url.split('?')[1]);
350
- const req = {
351
- method: opts.req.method,
352
- headers: opts.req.headers,
353
- query,
354
- body: bodyResult.ok ? bodyResult.data : undefined
355
- };
356
- const result = await resolveHTTPResponse({
357
- batching: opts.batching,
358
- responseMeta: opts.responseMeta,
359
- path,
360
- createContext,
361
- router,
362
- req,
363
- error: bodyResult.ok ? null : bodyResult.error,
364
-
365
- onError(o) {
366
- var _opts$onError;
367
-
368
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
369
- req: opts.req
370
- });
371
- }
372
-
373
- });
374
- const {
375
- res
376
- } = opts;
377
-
378
- if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
379
- res.statusCode = result.status;
380
- }
381
-
382
- for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
383
- var _result$headers;
384
-
385
- if (typeof value === 'undefined') {
386
- continue;
387
- }
388
-
389
- res.setHeader(key, value);
390
- }
391
-
392
- res.end(result.body);
393
- await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
394
- }
395
-
396
294
  exports.assertNotBrowser = assertNotBrowser;
397
295
  exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
398
- exports.nodeHTTPRequestHandler = nodeHTTPRequestHandler;
399
296
  exports.resolveHTTPResponse = resolveHTTPResponse;
@@ -1,4 +1,3 @@
1
- import { URLSearchParams } from 'url';
2
1
  import { T as TRPCError, c as callProcedure, g as getErrorFromUnknown, t as transformTRPCResponse } from './transformTRPCResponse-f73dc4a2.esm.js';
3
2
  import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-fe07bf82.esm.js';
4
3
 
@@ -290,105 +289,4 @@ async function resolveHTTPResponse(opts) {
290
289
  }
291
290
  }
292
291
 
293
- async function getPostBody({
294
- req,
295
- maxBodySize
296
- }) {
297
- return new Promise(resolve => {
298
- if ('body' in req) {
299
- resolve({
300
- ok: true,
301
- data: req.body
302
- });
303
- return;
304
- }
305
-
306
- let body = '';
307
- let hasBody = false;
308
- req.on('data', function (data) {
309
- body += data;
310
- hasBody = true;
311
-
312
- if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
313
- resolve({
314
- ok: false,
315
- error: new TRPCError({
316
- code: 'PAYLOAD_TOO_LARGE'
317
- })
318
- });
319
- req.socket.destroy();
320
- }
321
- });
322
- req.on('end', () => {
323
- resolve({
324
- ok: true,
325
- data: hasBody ? body : undefined
326
- });
327
- });
328
- });
329
- }
330
-
331
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
332
- assertNotBrowser();
333
- async function nodeHTTPRequestHandler(opts) {
334
- var _opts$teardown;
335
-
336
- const createContext = async function _createContext() {
337
- var _opts$createContext;
338
-
339
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
340
- };
341
-
342
- const {
343
- path,
344
- router
345
- } = opts;
346
- const bodyResult = await getPostBody(opts);
347
- const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
348
- const req = {
349
- method: opts.req.method,
350
- headers: opts.req.headers,
351
- query,
352
- body: bodyResult.ok ? bodyResult.data : undefined
353
- };
354
- const result = await resolveHTTPResponse({
355
- batching: opts.batching,
356
- responseMeta: opts.responseMeta,
357
- path,
358
- createContext,
359
- router,
360
- req,
361
- error: bodyResult.ok ? null : bodyResult.error,
362
-
363
- onError(o) {
364
- var _opts$onError;
365
-
366
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
367
- req: opts.req
368
- });
369
- }
370
-
371
- });
372
- const {
373
- res
374
- } = opts;
375
-
376
- if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
377
- res.statusCode = result.status;
378
- }
379
-
380
- for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
381
- var _result$headers;
382
-
383
- if (typeof value === 'undefined') {
384
- continue;
385
- }
386
-
387
- res.setHeader(key, value);
388
- }
389
-
390
- res.end(result.body);
391
- await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
392
- }
393
-
394
- export { assertNotBrowser as a, getHTTPStatusCodeFromError as g, nodeHTTPRequestHandler as n, resolveHTTPResponse as r };
292
+ export { assertNotBrowser as a, getHTTPStatusCodeFromError as g, resolveHTTPResponse as r };