@trpc/server 10.0.0-alpha.8 → 10.0.0-alpha.9

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.
@@ -0,0 +1 @@
1
+ export * from '../../dist/adapters/fastify';
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/adapters/fastify');
@@ -2,15 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-d7c307d3.js');
5
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-17b64c0e.js');
6
6
  require('url');
7
+ require('../resolveHTTPResponse-087ce86a.js');
7
8
  require('../transformTRPCResponse-bd24f548.js');
8
9
  require('../codes-7f46544e.js');
9
10
 
10
11
  /* eslint-disable @typescript-eslint/no-explicit-any */
11
12
  function createExpressMiddleware(opts) {
12
13
  return (req, res) => {
13
- const endpoint = req.path.substr(1);
14
+ const endpoint = req.path.slice(1);
14
15
  nodeHTTPRequestHandler.nodeHTTPRequestHandler({ ...opts,
15
16
  req,
16
17
  res,
@@ -1,12 +1,13 @@
1
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-10e6d2f9.mjs';
1
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-17a5e0dd.mjs';
2
2
  import 'url';
3
+ import '../resolveHTTPResponse-9604d47d.mjs';
3
4
  import '../transformTRPCResponse-76e0c91e.mjs';
4
5
  import '../codes-7a3d4f65.mjs';
5
6
 
6
7
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
8
  function createExpressMiddleware(opts) {
8
9
  return (req, res) => {
9
- const endpoint = req.path.substr(1);
10
+ const endpoint = req.path.slice(1);
10
11
  nodeHTTPRequestHandler({ ...opts,
11
12
  req,
12
13
  res,
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var url = require('url');
6
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-087ce86a.js');
7
+ var adapters_ws = require('../ws.js');
8
+ require('../../transformTRPCResponse-bd24f548.js');
9
+ require('../../codes-7f46544e.js');
10
+ require('../../subscription-5b7e1eba.js');
11
+ require('events');
12
+
13
+ resolveHTTPResponse.assertNotBrowser();
14
+ async function fastifyRequestHandler(opts) {
15
+ var _opts$req$body;
16
+
17
+ const createContext = async function _createContext() {
18
+ var _opts$createContext;
19
+
20
+ return (_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts);
21
+ };
22
+
23
+ const query = opts.req.query ? new url.URLSearchParams(opts.req.query) : new url.URLSearchParams(opts.req.url.split('?')[1]);
24
+ const req = {
25
+ query,
26
+ method: opts.req.method,
27
+ headers: opts.req.headers,
28
+ body: (_opts$req$body = opts.req.body) !== null && _opts$req$body !== void 0 ? _opts$req$body : 'null'
29
+ };
30
+ const result = await resolveHTTPResponse.resolveHTTPResponse({
31
+ req,
32
+ createContext,
33
+ path: opts.path,
34
+ router: opts.router,
35
+ batching: opts.batching,
36
+ responseMeta: opts.responseMeta,
37
+
38
+ onError(o) {
39
+ var _opts$onError;
40
+
41
+ opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
42
+ req: opts.req
43
+ });
44
+ }
45
+
46
+ });
47
+ const {
48
+ res
49
+ } = opts;
50
+
51
+ if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
52
+ res.statusCode = result.status;
53
+ }
54
+
55
+ for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
56
+ var _result$headers;
57
+
58
+ if (typeof value === 'undefined') {
59
+ continue;
60
+ }
61
+
62
+ res.header(key, value);
63
+ }
64
+
65
+ res.send(result.body);
66
+ }
67
+
68
+ /// <reference types="fastify-websocket" />
69
+ function fastifyTRPCPlugin(fastify, opts, done) {
70
+ var _opts$prefix;
71
+
72
+ fastify.addContentTypeParser('application/json', {
73
+ parseAs: 'string'
74
+ }, function (_, body, _done) {
75
+ _done(null, body);
76
+ });
77
+ fastify.all(`${(_opts$prefix = opts.prefix) !== null && _opts$prefix !== void 0 ? _opts$prefix : ''}/:path`, (req, res) => {
78
+ const path = req.params.path;
79
+ fastifyRequestHandler({ ...opts.trpcOptions,
80
+ req,
81
+ res,
82
+ path
83
+ });
84
+ });
85
+
86
+ if (opts.useWSS) {
87
+ var _opts$prefix2;
88
+
89
+ adapters_ws.applyWSSHandler({ ...opts.trpcOptions,
90
+ wss: fastify.websocketServer
91
+ }); // eslint-disable-next-line @typescript-eslint/no-empty-function
92
+
93
+ fastify.get((_opts$prefix2 = opts.prefix) !== null && _opts$prefix2 !== void 0 ? _opts$prefix2 : '/', {
94
+ websocket: true
95
+ }, () => {});
96
+ }
97
+
98
+ done();
99
+ }
100
+
101
+ exports.fastifyRequestHandler = fastifyRequestHandler;
102
+ exports.fastifyTRPCPlugin = fastifyTRPCPlugin;
@@ -0,0 +1,97 @@
1
+ import { URLSearchParams } from 'url';
2
+ import { a as assertNotBrowser, r as resolveHTTPResponse } from '../../resolveHTTPResponse-9604d47d.mjs';
3
+ import { applyWSSHandler } from '../ws.mjs';
4
+ import '../../transformTRPCResponse-76e0c91e.mjs';
5
+ import '../../codes-7a3d4f65.mjs';
6
+ import '../../subscription-e1d42e69.mjs';
7
+ import 'events';
8
+
9
+ assertNotBrowser();
10
+ async function fastifyRequestHandler(opts) {
11
+ var _opts$req$body;
12
+
13
+ const createContext = async function _createContext() {
14
+ var _opts$createContext;
15
+
16
+ return (_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts);
17
+ };
18
+
19
+ const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
20
+ const req = {
21
+ query,
22
+ method: opts.req.method,
23
+ headers: opts.req.headers,
24
+ body: (_opts$req$body = opts.req.body) !== null && _opts$req$body !== void 0 ? _opts$req$body : 'null'
25
+ };
26
+ const result = await resolveHTTPResponse({
27
+ req,
28
+ createContext,
29
+ path: opts.path,
30
+ router: opts.router,
31
+ batching: opts.batching,
32
+ responseMeta: opts.responseMeta,
33
+
34
+ onError(o) {
35
+ var _opts$onError;
36
+
37
+ opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
38
+ req: opts.req
39
+ });
40
+ }
41
+
42
+ });
43
+ const {
44
+ res
45
+ } = opts;
46
+
47
+ if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
48
+ res.statusCode = result.status;
49
+ }
50
+
51
+ for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
52
+ var _result$headers;
53
+
54
+ if (typeof value === 'undefined') {
55
+ continue;
56
+ }
57
+
58
+ res.header(key, value);
59
+ }
60
+
61
+ res.send(result.body);
62
+ }
63
+
64
+ /// <reference types="fastify-websocket" />
65
+ function fastifyTRPCPlugin(fastify, opts, done) {
66
+ var _opts$prefix;
67
+
68
+ fastify.addContentTypeParser('application/json', {
69
+ parseAs: 'string'
70
+ }, function (_, body, _done) {
71
+ _done(null, body);
72
+ });
73
+ fastify.all(`${(_opts$prefix = opts.prefix) !== null && _opts$prefix !== void 0 ? _opts$prefix : ''}/:path`, (req, res) => {
74
+ const path = req.params.path;
75
+ fastifyRequestHandler({ ...opts.trpcOptions,
76
+ req,
77
+ res,
78
+ path
79
+ });
80
+ });
81
+
82
+ if (opts.useWSS) {
83
+ var _opts$prefix2;
84
+
85
+ applyWSSHandler({ ...opts.trpcOptions,
86
+ wss: fastify.websocketServer
87
+ }); // eslint-disable-next-line @typescript-eslint/no-empty-function
88
+
89
+ fastify.get((_opts$prefix2 = opts.prefix) !== null && _opts$prefix2 !== void 0 ? _opts$prefix2 : '/', {
90
+ websocket: true
91
+ }, () => {});
92
+ }
93
+
94
+ done();
95
+ }
96
+
97
+ export { fastifyRequestHandler, fastifyTRPCPlugin };
@@ -0,0 +1 @@
1
+
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var transformTRPCResponse = require('../transformTRPCResponse-bd24f548.js');
6
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-d7c307d3.js');
6
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-17b64c0e.js');
7
7
  require('url');
8
+ require('../resolveHTTPResponse-087ce86a.js');
8
9
  require('../codes-7f46544e.js');
9
10
 
10
11
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -1,6 +1,7 @@
1
1
  import { T as TRPCError } from '../transformTRPCResponse-76e0c91e.mjs';
2
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-10e6d2f9.mjs';
2
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-17a5e0dd.mjs';
3
3
  import 'url';
4
+ import '../resolveHTTPResponse-9604d47d.mjs';
4
5
  import '../codes-7a3d4f65.mjs';
5
6
 
6
7
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -2,8 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-d7c307d3.js');
5
+ var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-17b64c0e.js');
6
6
  require('url');
7
+ require('../../resolveHTTPResponse-087ce86a.js');
7
8
  require('../../transformTRPCResponse-bd24f548.js');
8
9
  require('../../codes-7f46544e.js');
9
10
 
@@ -1,4 +1,5 @@
1
- export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-10e6d2f9.mjs';
1
+ export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-17a5e0dd.mjs';
2
2
  import 'url';
3
+ import '../../resolveHTTPResponse-9604d47d.mjs';
3
4
  import '../../transformTRPCResponse-76e0c91e.mjs';
4
5
  import '../../codes-7a3d4f65.mjs';
@@ -4,7 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var http = require('http');
6
6
  var url = require('url');
7
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-d7c307d3.js');
7
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-17b64c0e.js');
8
+ require('../resolveHTTPResponse-087ce86a.js');
8
9
  require('../transformTRPCResponse-bd24f548.js');
9
10
  require('../codes-7f46544e.js');
10
11
 
@@ -16,7 +17,7 @@ var url__default = /*#__PURE__*/_interopDefaultLegacy(url);
16
17
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
17
18
  function createHTTPHandler(opts) {
18
19
  return async (req, res) => {
19
- const endpoint = url__default["default"].parse(req.url).pathname.substr(1);
20
+ const endpoint = url__default["default"].parse(req.url).pathname.slice(1);
20
21
  await nodeHTTPRequestHandler.nodeHTTPRequestHandler({ ...opts,
21
22
  req,
22
23
  res,
@@ -1,13 +1,14 @@
1
1
  import http from 'http';
2
2
  import url from 'url';
3
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-10e6d2f9.mjs';
3
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-17a5e0dd.mjs';
4
+ import '../resolveHTTPResponse-9604d47d.mjs';
4
5
  import '../transformTRPCResponse-76e0c91e.mjs';
5
6
  import '../codes-7a3d4f65.mjs';
6
7
 
7
8
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
8
9
  function createHTTPHandler(opts) {
9
10
  return async (req, res) => {
10
- const endpoint = url.parse(req.url).pathname.substr(1);
11
+ const endpoint = url.parse(req.url).pathname.slice(1);
11
12
  await nodeHTTPRequestHandler({ ...opts,
12
13
  req,
13
14
  res,
package/dist/index.js CHANGED
@@ -2,16 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler-d7c307d3.js');
5
+ var resolveHTTPResponse = require('./resolveHTTPResponse-087ce86a.js');
6
6
  var subscription = require('./subscription-5b7e1eba.js');
7
7
  var transformTRPCResponse = require('./transformTRPCResponse-bd24f548.js');
8
8
  var adapters_standalone = require('./adapters/standalone.js');
9
+ var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler-17b64c0e.js');
9
10
  var codes = require('./codes-7f46544e.js');
10
- require('url');
11
11
  require('events');
12
12
  require('http');
13
+ require('url');
13
14
 
14
- nodeHTTPRequestHandler.assertNotBrowser();
15
+ resolveHTTPResponse.assertNotBrowser();
15
16
 
16
17
  // this has been moved to separate package
17
18
 
@@ -58,7 +59,7 @@ async function wrapCallSafe(fn) {
58
59
  }
59
60
 
60
61
  /* eslint-disable @typescript-eslint/no-explicit-any */
61
- nodeHTTPRequestHandler.assertNotBrowser();
62
+ resolveHTTPResponse.assertNotBrowser();
62
63
 
63
64
  function getParseFn(inputParser) {
64
65
  const parser = inputParser;
@@ -214,7 +215,7 @@ function createProcedure(opts) {
214
215
  }
215
216
 
216
217
  /* eslint-disable @typescript-eslint/ban-types */
217
- nodeHTTPRequestHandler.assertNotBrowser();
218
+ resolveHTTPResponse.assertNotBrowser();
218
219
  /**
219
220
  * @public
220
221
  */
@@ -462,7 +463,7 @@ class Router {
462
463
  code: codes.TRPC_ERROR_CODES_BY_KEY[code],
463
464
  data: {
464
465
  code,
465
- httpStatus: nodeHTTPRequestHandler.getHTTPStatusCodeFromError(error)
466
+ httpStatus: resolveHTTPResponse.getHTTPStatusCodeFromError(error)
466
467
  }
467
468
  };
468
469
 
@@ -519,8 +520,8 @@ function router() {
519
520
  return new Router();
520
521
  }
521
522
 
522
- exports.assertNotBrowser = nodeHTTPRequestHandler.assertNotBrowser;
523
- exports.resolveHTTPResponse = nodeHTTPRequestHandler.resolveHTTPResponse;
523
+ exports.assertNotBrowser = resolveHTTPResponse.assertNotBrowser;
524
+ exports.resolveHTTPResponse = resolveHTTPResponse.resolveHTTPResponse;
524
525
  exports.Subscription = subscription.Subscription;
525
526
  exports.subscriptionPullFactory = subscription.subscriptionPullFactory;
526
527
  exports.TRPCError = transformTRPCResponse.TRPCError;
package/dist/index.mjs CHANGED
@@ -1,13 +1,14 @@
1
- import { a as assertNotBrowser, n as nodeHTTPRequestHandler, g as getHTTPStatusCodeFromError } from './nodeHTTPRequestHandler-10e6d2f9.mjs';
2
- export { a as assertNotBrowser, r as resolveHTTPResponse } from './nodeHTTPRequestHandler-10e6d2f9.mjs';
1
+ import { a as assertNotBrowser, g as getHTTPStatusCodeFromError } from './resolveHTTPResponse-9604d47d.mjs';
2
+ export { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-9604d47d.mjs';
3
3
  export { S as Subscription, s as subscriptionPullFactory } from './subscription-e1d42e69.mjs';
4
4
  import { T as TRPCError, g as getErrorFromUnknown } from './transformTRPCResponse-76e0c91e.mjs';
5
5
  export { T as TRPCError } from './transformTRPCResponse-76e0c91e.mjs';
6
6
  import { createHTTPServer, createHTTPHandler } from './adapters/standalone.mjs';
7
+ import { n as nodeHTTPRequestHandler } from './nodeHTTPRequestHandler-17a5e0dd.mjs';
7
8
  import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-7a3d4f65.mjs';
8
- import 'url';
9
9
  import 'events';
10
10
  import 'http';
11
+ import 'url';
11
12
 
12
13
  assertNotBrowser();
13
14
 
@@ -0,0 +1,106 @@
1
+ import { URLSearchParams } from 'url';
2
+ import { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-9604d47d.mjs';
3
+ import { T as TRPCError } from './transformTRPCResponse-76e0c91e.mjs';
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 };
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ var url = require('url');
4
+ var resolveHTTPResponse = require('./resolveHTTPResponse-087ce86a.js');
5
+ var transformTRPCResponse = require('./transformTRPCResponse-bd24f548.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;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var url = require('url');
4
3
  var transformTRPCResponse = require('./transformTRPCResponse-bd24f548.js');
5
4
  var codes = require('./codes-7f46544e.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-76e0c91e.mjs';
3
2
  import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-7a3d4f65.mjs';
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.0.0-alpha.8",
3
+ "version": "10.0.0-alpha.9",
4
4
  "description": "tRPC Server",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -49,9 +49,9 @@
49
49
  "default": "./dist/adapters/standalone.js"
50
50
  },
51
51
  "./adapters/fastify": {
52
- "import": "./dist/adapters/fastify.mjs",
53
- "require": "./dist/adapters/fastify.js",
54
- "default": "./dist/adapters/fastify.js"
52
+ "import": "./dist/adapters/fastify/index.mjs",
53
+ "require": "./dist/adapters/fastify/index.js",
54
+ "default": "./dist/adapters/fastify/index.js"
55
55
  },
56
56
  "./adapters/ws": {
57
57
  "import": "./dist/adapters/ws.mjs",
@@ -105,7 +105,7 @@
105
105
  "yup": "^0.32.8",
106
106
  "zod": "^3.0.0"
107
107
  },
108
- "gitHead": "e5ded22d38809f6de68df26ed069ca3cf93bb368",
108
+ "gitHead": "4d4ac63ab25a2b684ac61e905f9067aa201f8b0c",
109
109
  "dependencies": {
110
110
  "tslib": "^2.1.0"
111
111
  }
@@ -16,7 +16,7 @@ export function createExpressMiddleware<TRouter extends AnyRouter>(
16
16
  opts: NodeHTTPHandlerOptions<TRouter, express.Request, express.Response>,
17
17
  ): express.Handler {
18
18
  return (req, res) => {
19
- const endpoint = req.path.substr(1);
19
+ const endpoint = req.path.slice(1);
20
20
 
21
21
  nodeHTTPRequestHandler({
22
22
  ...opts,
@@ -21,7 +21,7 @@ export function createHTTPHandler<TRouter extends AnyRouter>(
21
21
  opts: CreateHTTPHandlerOptions<TRouter>,
22
22
  ) {
23
23
  return async (req: http.IncomingMessage, res: http.ServerResponse) => {
24
- const endpoint = url.parse(req.url!).pathname!.substr(1);
24
+ const endpoint = url.parse(req.url!).pathname!.slice(1);
25
25
  await nodeHTTPRequestHandler({
26
26
  ...opts,
27
27
  req,
@@ -1,4 +0,0 @@
1
- {
2
- "main": "dist/trpc-server-adapters-fastify.cjs.js",
3
- "module": "dist/trpc-server-adapters-fastify.esm.js"
4
- }