vixy 0.4.2 → 0.5.0
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/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -13,9 +13,11 @@ export interface ListenOptions {
|
|
|
13
13
|
hostname: string;
|
|
14
14
|
}) => void;
|
|
15
15
|
}
|
|
16
|
+
export type ErrorHandler = (c: VixyContext, error: Error) => Response | Promise<Response>;
|
|
16
17
|
export default class Vixy {
|
|
17
18
|
private router;
|
|
18
|
-
private
|
|
19
|
+
private onNotFoundHandler?;
|
|
20
|
+
private errorHandler?;
|
|
19
21
|
private globalMiddleware;
|
|
20
22
|
private server?;
|
|
21
23
|
private routeRegistry;
|
|
@@ -41,7 +43,8 @@ export default class Vixy {
|
|
|
41
43
|
options(path: string, handler: Handler): this;
|
|
42
44
|
options(path: string, middleware: Middleware, handler: Handler): this;
|
|
43
45
|
route(prefix: string, group: Vixy): this;
|
|
44
|
-
|
|
46
|
+
onNotFound(handler: Handler): this;
|
|
47
|
+
onError(handler: ErrorHandler): this;
|
|
45
48
|
fetch(req: Request): Promise<Response>;
|
|
46
49
|
listen(options?: ListenOptions): void;
|
|
47
50
|
stop(): void;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAE1C,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtE,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,WAAW,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEhE,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,CACvB,CAAC,EAAE,WAAW,EACd,IAAI,EAAE,IAAI,KACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAoB9B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAE1C,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtE,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,WAAW,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEhE,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,CACvB,CAAC,EAAE,WAAW,EACd,IAAI,EAAE,IAAI,KACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAoB9B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,CAAC,EAAE,WAAW,EACd,KAAK,EAAE,KAAK,KACT,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,iBAAiB,CAAC,CAAU;IACpC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,MAAM,CAAC,CAA+B;IAC9C,OAAO,CAAC,aAAa,CAA4B;;IAUjD,OAAO,CAAC,mBAAmB;IAQ3B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAK/C,OAAO,CAAC,qBAAqB;YAgBf,sBAAsB;IAwCpC,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,2BAA2B;IAUnC,EAAE,CACA,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,EAAE,OAAO,GACf,IAAI;IACP,EAAE,CACA,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GACf,IAAI;IAmBP,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IACzC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOjE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAC1C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IACzC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOjE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOpE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOnE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAC7C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOrE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI;IAyCxC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKlC,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAK9B,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyC5C,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,IAAI;IAiCzC,IAAI,IAAI,IAAI;CAMb"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,8 @@ import { VixyContext } from "./context";
|
|
|
3
3
|
export { VixyContext };
|
|
4
4
|
export default class Vixy {
|
|
5
5
|
router;
|
|
6
|
-
|
|
6
|
+
onNotFoundHandler;
|
|
7
|
+
errorHandler;
|
|
7
8
|
globalMiddleware = [];
|
|
8
9
|
server;
|
|
9
10
|
routeRegistry = [];
|
|
@@ -161,8 +162,12 @@ export default class Vixy {
|
|
|
161
162
|
}
|
|
162
163
|
return this;
|
|
163
164
|
}
|
|
164
|
-
|
|
165
|
-
this.
|
|
165
|
+
onNotFound(handler) {
|
|
166
|
+
this.onNotFoundHandler = handler;
|
|
167
|
+
return this;
|
|
168
|
+
}
|
|
169
|
+
onError(handler) {
|
|
170
|
+
this.errorHandler = handler;
|
|
166
171
|
return this;
|
|
167
172
|
}
|
|
168
173
|
async fetch(req) {
|
|
@@ -190,9 +195,9 @@ export default class Vixy {
|
|
|
190
195
|
const allMiddleware = [...globalMiddlewares, ...middleware];
|
|
191
196
|
return await this.executeMiddlewareChain(context, allMiddleware, handler);
|
|
192
197
|
}
|
|
193
|
-
if (this.
|
|
198
|
+
if (this.onNotFoundHandler) {
|
|
194
199
|
const context = new VixyContext(req, {}, pathname);
|
|
195
|
-
return await this.
|
|
200
|
+
return await this.onNotFoundHandler(context);
|
|
196
201
|
}
|
|
197
202
|
return new Response("Not Found", { status: 404 });
|
|
198
203
|
}
|
|
@@ -203,6 +208,20 @@ export default class Vixy {
|
|
|
203
208
|
port,
|
|
204
209
|
hostname,
|
|
205
210
|
fetch: this.fetch,
|
|
211
|
+
error: (error) => {
|
|
212
|
+
if (this.errorHandler) {
|
|
213
|
+
// Create a minimal context for error handler
|
|
214
|
+
const context = new VixyContext(new Request("http://localhost"), {}, "/");
|
|
215
|
+
return this.errorHandler(context, error);
|
|
216
|
+
}
|
|
217
|
+
// Default error response
|
|
218
|
+
return new Response(`<pre>${error}\n${error.stack}</pre>`, {
|
|
219
|
+
status: 500,
|
|
220
|
+
headers: {
|
|
221
|
+
"Content-Type": "text/html",
|
|
222
|
+
},
|
|
223
|
+
});
|
|
224
|
+
},
|
|
206
225
|
});
|
|
207
226
|
if (options.onListening) {
|
|
208
227
|
options.onListening({ port, hostname });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAuC,MAAM,WAAW,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|