denoland / fresh

The next-gen web framework.
https://fresh.deno.dev
MIT License
12.53k stars 648 forks source link

fix: properly prefix all scripts with base path #2334

Closed deer closed 8 months ago

deer commented 8 months ago

closes https://github.com/denoland/fresh/issues/2326

There was a big misunderstanding on my part -- in particular that a different server might be listening at the root, so the redirect built into context.ts will never happen. The existing test (as mentioned in the issue) passes, but only because no one else is listening, and fresh is able to perform the redirect.

I briefly considered writing a docker container to orchestrate this properly, but then I didn't want to have docker running in order to run these tests. (My laptop is old and bad.) So instead the two new tests very thoroughly assert that scripts included in the html are properly prefixed with the base path. And yes, they fail if the fix is reverted.

As for the fix itself: I just needed to prepend the asset URL with the base path.