diff --git a/routes/proxy-route.ts b/routes/proxy-route.ts index 1ba7eb69..31109545 100644 --- a/routes/proxy-route.ts +++ b/routes/proxy-route.ts @@ -60,7 +60,7 @@ export function proxyRoute(options: ProxyRouteOptions): HTTPMiddleware { let body = yield* call(() => response.text()); let tree = fromHtml(body); - let elements = selectAll('[href^="/"],[src^="/"]', tree); + let elements = selectAll('[href^="/"],[src^="/"],form[action]', tree); for (let element of elements) { let properties = element.properties!; @@ -73,6 +73,11 @@ export function proxyRoute(options: ProxyRouteOptions): HTTPMiddleware { if (properties.src) { properties.src = posixNormalize(`${base.pathname}${properties.src}`); } + if (properties.action) { + properties.action = posixNormalize( + `${base.pathname}${properties.action}`, + ); + } } let headers: Record = {}; for (let [key, value] of response.headers.entries()) {