@nxtedition/http 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -108,5 +108,5 @@ type ContextOptions = Record<string, unknown> & {
108
108
  };
109
109
  export declare function createServer(ctx: ContextFactory | ContextOptions, middleware?: MiddlewareFn | MiddlewareFn[]): http.Server;
110
110
  export declare function createServer(options: CreateServerOptions, ctx: ContextOptions | ContextFactory, middleware?: MiddlewareFn | MiddlewareFn[]): http.Server;
111
- type MiddlewareFn = (ctx: Context, next: () => unknown) => unknown;
111
+ type MiddlewareFn = (ctx: Context, next: () => void | Promise<void>) => void | Promise<void>;
112
112
  export declare const compose: (...middleware: (MiddlewareFn | MiddlewareFn[])[]) => MiddlewareFn;
package/lib/index.js CHANGED
@@ -975,6 +975,8 @@ export function createServer(...args ) {
975
975
  ? middleware
976
976
  : [requestMiddleware, ...middleware]
977
977
  middleware = compose(middleware)
978
+ } else {
979
+ middleware = requestMiddleware
978
980
  }
979
981
 
980
982
  let factory
@@ -1003,10 +1005,13 @@ export function createServer(...args ) {
1003
1005
  requestTimeout: 48 * 60e3,
1004
1006
  ...options,
1005
1007
  },
1006
- (req, res) =>
1007
- middleware
1008
- ? middleware(factory(req , res ), noop)
1009
- : factory(req , res ),
1008
+ (req, res) => {
1009
+ const ret = middleware(factory(req , res ), noop)
1010
+ ret?.catch((err) => {
1011
+ res.on('error', noop)
1012
+ res.destroy(err )
1013
+ })
1014
+ },
1010
1015
  )
1011
1016
 
1012
1017
  server.setTimeout(options?.socketTimeout ?? 2 * 60e3)
@@ -1022,12 +1027,12 @@ export function createServer(...args ) {
1022
1027
  return server
1023
1028
  }
1024
1029
 
1025
-
1030
+
1026
1031
 
1027
1032
  const composeSlim =
1028
1033
  (middleware ) =>
1029
1034
  (ctx, next) => {
1030
- const dispatch = (i ) => () => {
1035
+ const dispatch = (i ) => () => {
1031
1036
  const fn = i === middleware.length ? next : middleware[i]
1032
1037
  return fn ? fn(ctx, dispatch(i + 1)) : undefined
1033
1038
  }
@@ -1047,8 +1052,8 @@ export const compose = (...middleware )
1047
1052
  return composeSlim(funcs)
1048
1053
  }
1049
1054
 
1050
- return async (ctx , next = noop) => {
1051
- const dispatch = async (i ) => {
1055
+ return async (ctx , next = noop) => {
1056
+ const dispatch = async (i ) => {
1052
1057
  const fn = i === funcs.length ? next : funcs[i]
1053
1058
  if (!fn) {
1054
1059
  return
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/http",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -32,5 +32,5 @@
32
32
  "rimraf": "^6.1.2",
33
33
  "typescript": "^5.9.3"
34
34
  },
35
- "gitHead": "9cff555aa7e0481dccf43c3c030ecfcab8595235"
35
+ "gitHead": "37c6127808e4ed12b94810c04dc9788afaad7222"
36
36
  }