worker.js

 1export default {
 2  async fetch(request, _env, _ctx) {
 3    const url = new URL(request.url);
 4
 5    let hostname;
 6    if (url.pathname.startsWith("/docs/nightly")) {
 7      hostname = "docs-nightly.pages.dev";
 8    } else if (url.pathname.startsWith("/docs/preview")) {
 9      hostname = "docs-preview.pages.dev";
10    } else {
11      hostname = "docs-anw.pages.dev";
12    }
13
14    url.hostname = hostname;
15    let res = await fetch(url, request);
16
17    if (res.status === 404) {
18      res = await fetch("https://zed.dev/404");
19    }
20
21    return res;
22  },
23};