Skip to content

Commit c575fda

Browse files
committed
avoid errors when middleware isn't in desired shape & make middleware optional & rename onRequestFn back to onRequest
1 parent d815753 commit c575fda

3 files changed

Lines changed: 6 additions & 5 deletions

File tree

packages/start/src/middleware/index.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ export type ResponseMiddleware = (
1414
response: Response,
1515
) => ReturnType<Parameters<typeof onResponse>[0]>;
1616

17-
function wrapRequestMiddleware(onRequestFn: RequestMiddleware) {
17+
function wrapRequestMiddleware(onRequest: RequestMiddleware) {
1818
return async (h3Event: H3Event) => {
1919
// h3 onRequest doesn't allow returning a response, but we will for backwards compatibility with start v1
2020
const fetchEvent = getFetchEvent(h3Event);
21-
const response = await onRequestFn(fetchEvent);
21+
const response = await onRequest(fetchEvent);
2222
if (response) return response;
2323
};
2424
}
@@ -32,13 +32,14 @@ function wrapResponseMiddleware(onBeforeResponse: ResponseMiddleware): Middlewar
3232
}
3333

3434
export function createMiddleware(
35-
args:
35+
args?:
3636
| {
3737
onRequest?: RequestMiddleware | RequestMiddleware[] | undefined;
3838
onBeforeResponse?: ResponseMiddleware | ResponseMiddleware[] | undefined;
3939
}
4040
| Middleware[],
4141
): Middleware[] {
42+
if (!args) return [];
4243
if (Array.isArray(args)) return args;
4344

4445
const mw: Middleware[] = [];

packages/start/src/server/handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export function createBaseHandler(
2121
options: HandlerOptions | ((context: PageEvent) => HandlerOptions | Promise<HandlerOptions>) = {},
2222
) {
2323
const handler = defineHandler({
24-
middleware: middleware.length ? middleware.map(decorateMiddleware) : undefined,
24+
middleware: middleware?.length ? middleware.map(decorateMiddleware) : undefined,
2525
handler: decorateHandler(async (e: H3Event) => {
2626
const event = getRequestEvent()!;
2727
const url = new URL(event.request.url);

packages/start/src/virtual.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ declare module "solid-start:app" {
2323

2424
declare module "solid-start:middleware" {
2525
type MaybeArray<T> = T | Array<T>;
26-
export default Middleware as import("h3").Middleware[];
26+
export default Middleware as import("h3").Middleware[] | undefined;
2727
}

0 commit comments

Comments
 (0)