@nmtjs/http-transport 0.16.0-beta.10 → 0.16.0-beta.11

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.
@@ -1,7 +1,7 @@
1
1
  import { ProxyableTransportType } from '@nmtjs/gateway';
2
2
  import * as injectables from '../injectables.js';
3
3
  import { createHTTPTransportWorker } from '../server.js';
4
- import { InternalServerErrorHttpResponse, NotFoundHttpResponse, StatusResponse, } from '../utils.js';
4
+ import { InternalServerErrorHttpResponse, NotFoundHttpResponse, OkResponse, } from '../utils.js';
5
5
  function adapterFactory(params) {
6
6
  let server = null;
7
7
  function createServer() {
@@ -19,10 +19,7 @@ function adapterFactory(params) {
19
19
  }
20
20
  : undefined,
21
21
  // @ts-expect-error
22
- routes: {
23
- ...params.runtime?.routes,
24
- '/healthy': { GET: StatusResponse },
25
- },
22
+ routes: { ...params.runtime?.routes, '/healthy': { GET: OkResponse } },
26
23
  async fetch(request, server) {
27
24
  const url = new URL(request.url);
28
25
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/runtimes/bun.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAOvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,SAAS,cAAc,CAAC,MAAgC;IACtD,IAAI,MAAM,GAAiC,IAAI,CAAA;IAE/C,SAAS,YAAY;QACnB,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAC1B,GAAG,MAAM,CAAC,OAAO;YACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAc;YAClC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;YAChC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACb,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;oBACrB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;oBACnB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU;iBAClC;gBACH,CAAC,CAAC,SAAS;YACb,mBAAmB;YACnB,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM;gBACzB,UAAU,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE;aACpC;YACD,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM;gBACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAChC,IAAI,CAAC;oBACH,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,WAAW;wBAChD,OAAO,oBAAoB,EAAE,CAAA;oBAC/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;oBACzC,OAAO,MAAM,MAAM,CAAC,YAAY,CAC9B,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EACxB,IAAI,EACJ,OAAO,CAAC,MAAM,CACf,CAAA;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,uBAAuB;oBACvB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAClB,yDAAyD;oBACzD,OAAO,+BAA+B,EAAE,CAAA;gBAC1C,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP,IAAI,GAAG;gBACL,OAAO,MAAO,CAAA;YAChB,CAAC;SACF;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,GAAG,YAAY,EAAE,CAAA;YACvB,OAAO,MAAO,CAAC,GAAG,CAAC,IAAI,CAAA;QACzB,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBACnB,MAAM,GAAG,IAAI,CAAA;YACf,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAKtB;IACF,SAAS,EAAE,sBAAsB,CAAC,IAAI;IACtC,WAAW;IACX,OAAO,CAAC,OAAO;QACb,OAAO,yBAAyB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/runtimes/bun.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAOvD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAA;AAEpB,SAAS,cAAc,CAAC,MAAgC;IACtD,IAAI,MAAM,GAAiC,IAAI,CAAA;IAE/C,SAAS,YAAY;QACnB,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAC1B,GAAG,MAAM,CAAC,OAAO;YACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAc;YAClC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;YAChC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACb,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;oBACrB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;oBACnB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU;iBAClC;gBACH,CAAC,CAAC,SAAS;YACb,mBAAmB;YACnB,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;YACtE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM;gBACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAChC,IAAI,CAAC;oBACH,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,WAAW;wBAChD,OAAO,oBAAoB,EAAE,CAAA;oBAC/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;oBACzC,OAAO,MAAM,MAAM,CAAC,YAAY,CAC9B,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EACxB,IAAI,EACJ,OAAO,CAAC,MAAM,CACf,CAAA;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,uBAAuB;oBACvB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAClB,yDAAyD;oBACzD,OAAO,+BAA+B,EAAE,CAAA;gBAC1C,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP,IAAI,GAAG;gBACL,OAAO,MAAO,CAAA;YAChB,CAAC;SACF;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,GAAG,YAAY,EAAE,CAAA;YACvB,OAAO,MAAO,CAAC,GAAG,CAAC,IAAI,CAAA;QACzB,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBACnB,MAAM,GAAG,IAAI,CAAA;YACf,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAKtB;IACF,SAAS,EAAE,sBAAsB,CAAC,IAAI;IACtC,WAAW;IACX,OAAO,CAAC,OAAO;QACb,OAAO,yBAAyB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;CACF,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { ProxyableTransportType } from '@nmtjs/gateway';
2
2
  import * as injectables from '../injectables.js';
3
3
  import { createHTTPTransportWorker } from '../server.js';
4
- import { InternalServerErrorHttpResponse, NotFoundHttpResponse, StatusResponse, } from '../utils.js';
4
+ import { InternalServerErrorHttpResponse, NotFoundHttpResponse, OkResponse, } from '../utils.js';
5
5
  function adapterFactory(params) {
6
6
  let server = null;
7
7
  function createServer() {
@@ -29,7 +29,7 @@ function adapterFactory(params) {
29
29
  handler: async (request, info) => {
30
30
  const url = new URL(request.url);
31
31
  if (url.pathname === '/healthy') {
32
- return StatusResponse();
32
+ return OkResponse();
33
33
  }
34
34
  try {
35
35
  if (request.headers.get('upgrade') === 'websocket') {
@@ -1 +1 @@
1
- {"version":3,"file":"deno.js","sourceRoot":"","sources":["../../src/runtimes/deno.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deno.js","sourceRoot":"","sources":["../../src/runtimes/deno.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,10 @@ import { setTimeout } from 'node:timers/promises';
3
3
  import { ProxyableTransportType } from '@nmtjs/gateway';
4
4
  import * as injectables from '../injectables.js';
5
5
  import { createHTTPTransportWorker } from '../server.js';
6
- import { InternalServerErrorHttpResponse, NotFoundHttpResponse, StatusResponse, } from '../utils.js';
6
+ import { InternalServerErrorHttpResponse, NotFoundHttpResponse, OkResponse, } from '../utils.js';
7
7
  import { App, SSLApp, us_socket_local_port } from 'uWebSockets.js';
8
+ const statusResponse = OkResponse();
9
+ const statusResponseBuffer = await statusResponse.arrayBuffer();
8
10
  function adapterFactory(params) {
9
11
  const server = params.tls
10
12
  ? SSLApp({
@@ -14,20 +16,24 @@ function adapterFactory(params) {
14
16
  })
15
17
  : App();
16
18
  server
17
- .get('/healthy', async (res) => {
18
- res.onAborted(() => { });
19
- const response = StatusResponse();
20
- res.cork(async () => {
19
+ .get('/healthy', (res) => {
20
+ res.cork(() => {
21
21
  res
22
- .writeStatus(`${response.status} ${response.statusText}`)
23
- .end(await response.arrayBuffer());
22
+ .writeStatus(`${statusResponse.status} ${statusResponse.statusText}`)
23
+ .end(statusResponseBuffer);
24
24
  });
25
25
  })
26
26
  .any('/*', async (res, req) => {
27
- const controller = new AbortController();
27
+ const requestController = new AbortController();
28
+ let aborted = false;
29
+ let bodyController;
28
30
  res.onAborted(() => {
29
- res.aborted = true;
30
- controller.abort();
31
+ aborted = true;
32
+ requestController.abort();
33
+ try {
34
+ bodyController?.error(requestController.signal.reason);
35
+ }
36
+ catch { }
31
37
  });
32
38
  let response = NotFoundHttpResponse();
33
39
  const headers = new Headers();
@@ -40,19 +46,21 @@ function adapterFactory(params) {
40
46
  try {
41
47
  const body = new ReadableStream({
42
48
  start(controller) {
43
- res.onData((chunk, isLast) => {
49
+ bodyController = controller;
50
+ res.onDataV2((chunk, maxRemainingBodyLength) => {
51
+ if (aborted)
52
+ return;
44
53
  if (chunk) {
45
54
  const copy = Buffer.allocUnsafe(chunk.byteLength);
46
55
  copy.set(new Uint8Array(chunk));
47
56
  controller.enqueue(copy);
48
57
  }
49
- if (isLast)
58
+ if (maxRemainingBodyLength === 0n)
50
59
  controller.close();
51
60
  });
52
- res.onAborted(() => controller.error());
53
61
  },
54
62
  });
55
- response = await params.fetchHandler({ url, method, headers }, body, controller.signal);
63
+ response = await params.fetchHandler({ url, method, headers }, body, requestController.signal);
56
64
  }
57
65
  catch (err) {
58
66
  // TODO: proper logging
@@ -60,11 +68,11 @@ function adapterFactory(params) {
60
68
  // params.logger.error({ err }, 'Error in fetch handler')
61
69
  response = InternalServerErrorHttpResponse();
62
70
  }
63
- if (res.aborted)
71
+ if (aborted)
64
72
  return undefined;
65
73
  else {
66
74
  res.cork(() => {
67
- if (res.aborted)
75
+ if (aborted)
68
76
  return undefined;
69
77
  res.writeStatus(`${response.status.toString()} ${response.statusText}`);
70
78
  response.headers.forEach((v, k) => res.writeHeader(k, v));
@@ -73,23 +81,25 @@ function adapterFactory(params) {
73
81
  try {
74
82
  const reader = response.body.getReader();
75
83
  let chunk = await reader.read();
76
- do {
77
- if (res.aborted)
84
+ while (!chunk.done) {
85
+ if (aborted)
78
86
  break;
79
87
  if (chunk.value)
80
88
  res.cork(() => res.write(chunk.value));
81
89
  chunk = await reader.read();
82
- } while (!chunk.done);
83
- if (!res.aborted)
90
+ }
91
+ if (aborted)
92
+ await reader.cancel().catch(() => { });
93
+ else
84
94
  res.cork(() => res.end());
85
95
  }
86
96
  catch {
87
- if (!res.aborted)
97
+ if (!aborted)
88
98
  res.cork(() => res.close());
89
99
  }
90
100
  }
91
101
  else {
92
- if (!res.aborted)
102
+ if (!aborted)
93
103
  res.cork(() => res.end());
94
104
  }
95
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/runtimes/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/runtimes/node.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -5,4 +5,4 @@ export declare const ForbiddenError: (message?: string) => ProtocolError;
5
5
  export declare const RequestTimeoutError: (message?: string) => ProtocolError;
6
6
  export declare const NotFoundHttpResponse: () => Response;
7
7
  export declare const InternalServerErrorHttpResponse: () => Response;
8
- export declare const StatusResponse: () => Response;
8
+ export declare const OkResponse: () => Response;
package/dist/utils.js CHANGED
@@ -12,5 +12,5 @@ export const InternalServerErrorHttpResponse = () => new Response('Internal Serv
12
12
  status: 500,
13
13
  headers: { 'Content-Type': 'text/plain' },
14
14
  });
15
- export const StatusResponse = () => new Response('OK', { status: 200 });
15
+ export const OkResponse = () => new Response('OK', { status: 200 });
16
16
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,uBAAuB,EAAE,EAAE,CACjE,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,WAAW,EAAE,EAAE,CACrD,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,GAAG,WAAW,EAAE,EAAE,CACtD,IAAI,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,GAAG,iBAAiB,EAAE,EAAE,CACjE,IAAI,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACvC,IAAI,QAAQ,CAAC,WAAW,EAAE;IACxB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;CAC1C,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAClD,IAAI,QAAQ,CAAC,uBAAuB,EAAE;IACpC,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;CAC1C,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,uBAAuB,EAAE,EAAE,CACjE,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,WAAW,EAAE,EAAE,CACrD,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,GAAG,WAAW,EAAE,EAAE,CACtD,IAAI,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,GAAG,iBAAiB,EAAE,EAAE,CACjE,IAAI,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACvC,IAAI,QAAQ,CAAC,WAAW,EAAE;IACxB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;CAC1C,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAClD,IAAI,QAAQ,CAAC,uBAAuB,EAAE;IACpC,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;CAC1C,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA"}
package/package.json CHANGED
@@ -26,22 +26,22 @@
26
26
  },
27
27
  "devDependencies": {
28
28
  "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.63.0",
29
- "@nmtjs/application": "0.16.0-beta.10",
30
- "@nmtjs/client": "0.16.0-beta.10",
31
- "@nmtjs/gateway": "0.16.0-beta.10",
32
- "@nmtjs/protocol": "0.16.0-beta.10",
33
- "@nmtjs/common": "0.16.0-beta.10"
29
+ "@nmtjs/application": "0.16.0-beta.11",
30
+ "@nmtjs/gateway": "0.16.0-beta.11",
31
+ "@nmtjs/client": "0.16.0-beta.11",
32
+ "@nmtjs/protocol": "0.16.0-beta.11",
33
+ "@nmtjs/common": "0.16.0-beta.11"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "@types/bun": "^1.3.0",
37
37
  "@types/deno": "^2.3.0",
38
38
  "@types/node": "^24",
39
39
  "uWebSockets.js": "^20.63.0",
40
- "@nmtjs/application": "0.16.0-beta.10",
41
- "@nmtjs/core": "0.16.0-beta.10",
42
- "@nmtjs/common": "0.16.0-beta.10",
43
- "@nmtjs/gateway": "0.16.0-beta.10",
44
- "@nmtjs/protocol": "0.16.0-beta.10"
40
+ "@nmtjs/common": "0.16.0-beta.11",
41
+ "@nmtjs/core": "0.16.0-beta.11",
42
+ "@nmtjs/gateway": "0.16.0-beta.11",
43
+ "@nmtjs/protocol": "0.16.0-beta.11",
44
+ "@nmtjs/application": "0.16.0-beta.11"
45
45
  },
46
46
  "peerDependenciesMeta": {
47
47
  "@types/bun": {
@@ -68,7 +68,11 @@
68
68
  "LICENSE.md",
69
69
  "README.md"
70
70
  ],
71
- "version": "0.16.0-beta.10",
71
+ "version": "0.16.0-beta.11",
72
+ "repository": {
73
+ "type": "git",
74
+ "url": "https://github.com/neematajs/neemata"
75
+ },
72
76
  "scripts": {
73
77
  "clean-build": "rm -rf ./dist"
74
78
  }
@@ -12,7 +12,7 @@ import { createHTTPTransportWorker } from '../server.ts'
12
12
  import {
13
13
  InternalServerErrorHttpResponse,
14
14
  NotFoundHttpResponse,
15
- StatusResponse,
15
+ OkResponse,
16
16
  } from '../utils.ts'
17
17
 
18
18
  function adapterFactory(params: HttpAdapterParams<'bun'>): HttpAdapterServer {
@@ -33,10 +33,7 @@ function adapterFactory(params: HttpAdapterParams<'bun'>): HttpAdapterServer {
33
33
  }
34
34
  : undefined,
35
35
  // @ts-expect-error
36
- routes: {
37
- ...params.runtime?.routes,
38
- '/healthy': { GET: StatusResponse },
39
- },
36
+ routes: { ...params.runtime?.routes, '/healthy': { GET: OkResponse } },
40
37
  async fetch(request, server) {
41
38
  const url = new URL(request.url)
42
39
  try {
@@ -13,7 +13,7 @@ import { createHTTPTransportWorker } from '../server.ts'
13
13
  import {
14
14
  InternalServerErrorHttpResponse,
15
15
  NotFoundHttpResponse,
16
- StatusResponse,
16
+ OkResponse,
17
17
  } from '../utils.ts'
18
18
 
19
19
  interface DenoNetAddr {
@@ -64,7 +64,7 @@ function adapterFactory(params: HttpAdapterParams<'deno'>): HttpAdapterServer {
64
64
  handler: async (request: Request, info: any) => {
65
65
  const url = new URL(request.url)
66
66
  if (url.pathname === '/healthy') {
67
- return StatusResponse()
67
+ return OkResponse()
68
68
  }
69
69
  try {
70
70
  if (request.headers.get('upgrade') === 'websocket') {
@@ -15,11 +15,14 @@ import { createHTTPTransportWorker } from '../server.ts'
15
15
  import {
16
16
  InternalServerErrorHttpResponse,
17
17
  NotFoundHttpResponse,
18
- StatusResponse,
18
+ OkResponse,
19
19
  } from '../utils.ts'
20
20
 
21
21
  import { App, SSLApp, us_socket_local_port } from 'uWebSockets.js'
22
22
 
23
+ const statusResponse = OkResponse()
24
+ const statusResponseBuffer = await statusResponse.arrayBuffer()
25
+
23
26
  function adapterFactory(params: HttpAdapterParams<'node'>): HttpAdapterServer {
24
27
  const server = params.tls
25
28
  ? SSLApp({
@@ -30,20 +33,25 @@ function adapterFactory(params: HttpAdapterParams<'node'>): HttpAdapterServer {
30
33
  : App()
31
34
 
32
35
  server
33
- .get('/healthy', async (res) => {
34
- res.onAborted(() => {})
35
- const response = StatusResponse()
36
- res.cork(async () => {
36
+ .get('/healthy', (res) => {
37
+ res.cork(() => {
37
38
  res
38
- .writeStatus(`${response.status} ${response.statusText}`)
39
- .end(await response.arrayBuffer())
39
+ .writeStatus(`${statusResponse.status} ${statusResponse.statusText}`)
40
+ .end(statusResponseBuffer)
40
41
  })
41
42
  })
42
43
  .any('/*', async (res, req) => {
43
- const controller = new AbortController()
44
+ const requestController = new AbortController()
45
+ let aborted = false
46
+ let bodyController: ReadableStreamDefaultController<Buffer> | undefined
47
+
44
48
  res.onAborted(() => {
45
- res.aborted = true
46
- controller.abort()
49
+ aborted = true
50
+ requestController.abort()
51
+
52
+ try {
53
+ bodyController?.error(requestController.signal.reason)
54
+ } catch {}
47
55
  })
48
56
 
49
57
  let response = NotFoundHttpResponse()
@@ -58,23 +66,24 @@ function adapterFactory(params: HttpAdapterParams<'node'>): HttpAdapterServer {
58
66
  const url = new URL(req.getUrl(), `${proto}://${host}`)
59
67
  url.search = req.getQuery() ? `?${req.getQuery()}` : ''
60
68
  try {
61
- const body = new ReadableStream({
69
+ const body = new ReadableStream<Buffer>({
62
70
  start(controller) {
63
- res.onData((chunk, isLast) => {
71
+ bodyController = controller
72
+ res.onDataV2((chunk, maxRemainingBodyLength) => {
73
+ if (aborted) return
64
74
  if (chunk) {
65
75
  const copy = Buffer.allocUnsafe(chunk.byteLength)
66
76
  copy.set(new Uint8Array(chunk))
67
77
  controller.enqueue(copy)
68
78
  }
69
- if (isLast) controller.close()
79
+ if (maxRemainingBodyLength === 0n) controller.close()
70
80
  })
71
- res.onAborted(() => controller.error())
72
81
  },
73
82
  })
74
83
  response = await params.fetchHandler(
75
84
  { url, method, headers },
76
85
  body,
77
- controller.signal,
86
+ requestController.signal,
78
87
  )
79
88
  } catch (err) {
80
89
  // TODO: proper logging
@@ -82,10 +91,10 @@ function adapterFactory(params: HttpAdapterParams<'node'>): HttpAdapterServer {
82
91
  // params.logger.error({ err }, 'Error in fetch handler')
83
92
  response = InternalServerErrorHttpResponse()
84
93
  }
85
- if (res.aborted) return undefined
94
+ if (aborted) return undefined
86
95
  else {
87
96
  res.cork(() => {
88
- if (res.aborted) return undefined
97
+ if (aborted) return undefined
89
98
  res.writeStatus(
90
99
  `${response.status.toString()} ${response.statusText}`,
91
100
  )
@@ -95,17 +104,18 @@ function adapterFactory(params: HttpAdapterParams<'node'>): HttpAdapterServer {
95
104
  try {
96
105
  const reader = response.body.getReader()
97
106
  let chunk = await reader.read()
98
- do {
99
- if (res.aborted) break
107
+ while (!chunk.done) {
108
+ if (aborted) break
100
109
  if (chunk.value) res.cork(() => res.write(chunk.value!))
101
110
  chunk = await reader.read()
102
- } while (!chunk.done)
103
- if (!res.aborted) res.cork(() => res.end())
111
+ }
112
+ if (aborted) await reader.cancel().catch(() => {})
113
+ else res.cork(() => res.end())
104
114
  } catch {
105
- if (!res.aborted) res.cork(() => res.close())
115
+ if (!aborted) res.cork(() => res.close())
106
116
  }
107
117
  } else {
108
- if (!res.aborted) res.cork(() => res.end())
118
+ if (!aborted) res.cork(() => res.end())
109
119
  }
110
120
  }
111
121
  })
package/src/utils.ts CHANGED
@@ -25,4 +25,4 @@ export const InternalServerErrorHttpResponse = () =>
25
25
  headers: { 'Content-Type': 'text/plain' },
26
26
  })
27
27
 
28
- export const StatusResponse = () => new Response('OK', { status: 200 })
28
+ export const OkResponse = () => new Response('OK', { status: 200 })