@server/next 0.27.12 → 0.27.13

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 (3) hide show
  1. package/index.d.ts +3 -0
  2. package/index.js +7 -2
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -82,6 +82,7 @@ type AuthSettings = {
82
82
  cleanUser: <T = AuthUser>(user: T) => T | Promise<T>;
83
83
  redirect: string;
84
84
  };
85
+ type OnError = (error: Error, ctx: Context) => Response | Promise<Response>;
85
86
  type Options = {
86
87
  port?: number;
87
88
  secret?: string;
@@ -96,6 +97,7 @@ type Options = {
96
97
  cors?: CorsOptions;
97
98
  auth?: AuthOption;
98
99
  openapi?: any;
100
+ onError?: OnError;
99
101
  };
100
102
  type Settings = {
101
103
  port: number;
@@ -111,6 +113,7 @@ type Settings = {
111
113
  cors?: CorsSettings;
112
114
  auth?: AuthSettings;
113
115
  openapi?: any;
116
+ onError?: OnError;
114
117
  };
115
118
  type Time = {
116
119
  (name: string): void;
package/index.js CHANGED
@@ -662,6 +662,11 @@ function config(options = {}) {
662
662
  settings.openapi = {};
663
663
  }
664
664
  }
665
+ settings.onError = options.onError || ((error) => {
666
+ return new Response(error.message || "Server Error", {
667
+ status: error.status || 500
668
+ });
669
+ });
665
670
  return settings;
666
671
  }
667
672
 
@@ -973,9 +978,9 @@ async function handleRequest(handlers, ctx) {
973
978
  if (method !== "*") break;
974
979
  }
975
980
  if (ctx.platform.provider === "netlify") return;
976
- return new Response("Not Found", { status: 404 });
981
+ throw new ServerError_default("NOT_FOUND", 404, "Not Found");
977
982
  } catch (error) {
978
- return new Response(error.message || "", { status: error.status || 500 });
983
+ return ctx.options.onError(error, ctx);
979
984
  }
980
985
  }
981
986
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@server/next",
3
- "version": "0.27.12",
3
+ "version": "0.27.13",
4
4
  "description": "A fully-fledged web server with routing, file uploads, sessions, static files, schema validation, websockets, testing, etc.",
5
5
  "homepage": "https://server-js.com/",
6
6
  "repository": "https://github.com/franciscop/server-next.git",