Skip to content

Commit 9c5b4b8

Browse files
committed
tidy up before tests
1 parent e3742bb commit 9c5b4b8

File tree

4 files changed

+30
-9
lines changed

4 files changed

+30
-9
lines changed

packages/qwik-city/src/buildtime/vite/dev-server.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { matchRoute } from '../../runtime/src/route-matcher';
1818
import { getMenuLoader } from '../../runtime/src/routing';
1919
import type {
2020
ActionInternal,
21+
ApplyRewriteInternal,
2122
ContentMenu,
2223
LoadedRoute,
2324
LoaderInternal,
@@ -227,7 +228,7 @@ export function ssrDevMiddleware(ctx: BuildContext, server: ViteDevServer) {
227228
await server.ssrLoadModule('@qwik-serializer');
228229
const qwikSerializer = { _deserializeData, _serializeData, _verifySerializable };
229230

230-
const applyRewrite = async (url: URL) => {
231+
const applyRewrite: ApplyRewriteInternal = async (url: URL) => {
231232
const { serverPlugins, loadedRoute } = await resolveRoute(routeModulePaths, url);
232233
const requestHandlers = resolveRequestHandlers(
233234
serverPlugins,

packages/qwik-city/src/middleware/request-handler/request-handler.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Render } from '@builder.io/qwik/server';
22
import { loadRoute } from '../../runtime/src/routing';
3-
import type { QwikCityPlan } from '../../runtime/src/types';
3+
import type { ApplyRewriteInternal, QwikCityPlan } from '../../runtime/src/types';
44
import { renderQwikMiddleware, resolveRequestHandlers } from './resolve-request-handlers';
55
import type { QwikSerializer, ServerRenderOptions, ServerRequestEvent } from './types';
66
import { getRouteMatchPathname, runQwikCity, type QwikCityRun } from './user-response';
@@ -25,12 +25,32 @@ export async function requestHandler<T = unknown>(
2525
checkOrigin ?? true,
2626
render
2727
);
28+
2829
if (routeAndHandlers) {
2930
const [route, requestHandlers] = routeAndHandlers;
31+
32+
const applyRewrite: ApplyRewriteInternal = async (url: URL) => {
33+
const routeAndHandlers = await loadRequestHandlers(
34+
qwikCityPlan,
35+
url.pathname,
36+
serverRequestEv.request.method,
37+
checkOrigin ?? true,
38+
render
39+
);
40+
41+
if (routeAndHandlers) {
42+
const [loadedRoute, requestHandlers] = routeAndHandlers;
43+
return { loadedRoute, requestHandlers };
44+
} else {
45+
return { loadedRoute: null, requestHandlers: [] };
46+
}
47+
};
48+
3049
return runQwikCity(
3150
serverRequestEv,
3251
route,
3352
requestHandlers,
53+
applyRewrite,
3454
qwikCityPlan.trailingSlash,
3555
qwikCityPlan.basePathname,
3656
qwikSerializer

packages/qwik-city/src/middleware/request-handler/user-response.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { RequestEvent, RequestHandler } from '@builder.io/qwik-city';
2-
import type { LoadedRoute } from '../../runtime/src/types';
2+
import type { ApplyRewriteInternal, LoadedRoute } from '../../runtime/src/types';
33
import { ServerError, getErrorHtml, minimalHtmlResponse } from './error-handler';
44
import { AbortMessage, RedirectMessage } from './redirect-handler';
55
import {
@@ -36,9 +36,7 @@ export function runQwikCity<T>(
3636
serverRequestEv: ServerRequestEvent<T>,
3737
loadedRoute: LoadedRoute | null,
3838
requestHandlers: RequestHandler<any>[],
39-
applyRewrite: (
40-
url: URL
41-
) => Promise<{ loadedRoute: LoadedRoute; requestHandlers: RequestHandler<any>[] }>,
39+
applyRewrite: ApplyRewriteInternal,
4240
trailingSlash = true,
4341
basePathname = '/',
4442
qwikSerializer: QwikSerializer
@@ -66,9 +64,7 @@ export function runQwikCity<T>(
6664

6765
async function runNext(
6866
requestEv: RequestEventInternal,
69-
applyRewrite: (
70-
url: URL
71-
) => Promise<{ loadedRoute: LoadedRoute; requestHandlers: RequestHandler<any>[] }>,
67+
applyRewrite: ApplyRewriteInternal,
7268
resolve: (value: any) => void
7369
) {
7470
async function _runNext(

packages/qwik-city/src/runtime/src/types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ export type RouteStateInternal = {
8181
scroll?: boolean;
8282
};
8383

84+
export type ApplyRewriteInternal = (
85+
url: URL
86+
) => Promise<{ loadedRoute: LoadedRoute | null; requestHandlers: RequestHandler<any>[] }>;
87+
8488
/**
8589
* @param url - The URL that the user is trying to navigate to, or a number to indicate the user is
8690
* trying to navigate back/forward in the application history. If it is missing, the event is sent

0 commit comments

Comments
 (0)