{"_id":"x-forwarded-fetch","_rev":"2-9e2fed22d9a8a459cc1caceaf083851a","name":"x-forwarded-fetch","dist-tags":{"dev":"0.1.0-dev.1","latest":"0.2.0"},"versions":{"0.1.0-dev.1":{"name":"x-forwarded-fetch","version":"0.1.0-dev.1","description":"A middleware for fetch() behind a reverse proxy with X-Forwarded-* headers.","keywords":["fetch","proxy","reverse proxy","x-forwarded-host","x-forwarded-proto"],"author":{"name":"Hong Minhee","email":"hong@minhee.org","url":"https://hongminhee.org/"},"homepage":"https://github.com/dahlia/x-forwarded-fetch","repository":{"type":"git","url":"git+https://github.com/dahlia/x-forwarded-fetch.git"},"license":"MIT","bugs":{"url":"https://github.com/dahlia/x-forwarded-fetch/issues"},"main":"./script/mod.js","module":"./esm/mod.js","types":"./types/mod.d.ts","exports":{".":{"import":{"types":"./types/mod.d.ts","default":"./esm/mod.js"},"require":{"types":"./types/mod.d.ts","default":"./script/mod.js"}}},"scripts":{"test":"node test_runner.js"},"devDependencies":{"@types/node":"^20.9.0","picocolors":"^1.0.0","@deno/shim-deno":"~0.18.0"},"_id":"x-forwarded-fetch@0.1.0-dev.1","gitHead":"6d6bdf75cd9e1ee9ea0cd50e2cb1c5955bbde083","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-7sBqJ+1oNZUJwSbEoj+pnBmJQjI0T6GR3drX8TS23orV/ojh8RXruY0ANq/kz9uAohDS+/VYT4rlMZGLIO1FKw==","shasum":"b4ed4c87703348893c56a293093325890693007f","tarball":"https://registry.npmjs.org/x-forwarded-fetch/-/x-forwarded-fetch-0.1.0-dev.1.tgz","fileCount":20,"unpackedSize":15843,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/x-forwarded-fetch@0.1.0-dev.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9PLlAE6Pzxrd7N1F3YQ26lXvJTHocGejsj+BOuDiaGAIgcnG8d5fH2Mmb3JwsBPC42gQtXRVPZAsKJCsbSKWlRr4="}]},"_npmUser":{"name":"hongminhee","email":"hong@minhee.org"},"directories":{},"maintainers":[{"name":"hongminhee","email":"hong@minhee.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/x-forwarded-fetch_0.1.0-dev.1_1715518066140_0.8423371933627821"},"_hasShrinkwrap":false},"0.1.0":{"name":"x-forwarded-fetch","version":"0.1.0","description":"A middleware for fetch() behind a reverse proxy with X-Forwarded-* headers.","keywords":["fetch","proxy","reverse proxy","x-forwarded-host","x-forwarded-proto"],"author":{"name":"Hong Minhee","email":"hong@minhee.org","url":"https://hongminhee.org/"},"homepage":"https://github.com/dahlia/x-forwarded-fetch","repository":{"type":"git","url":"git+https://github.com/dahlia/x-forwarded-fetch.git"},"license":"MIT","bugs":{"url":"https://github.com/dahlia/x-forwarded-fetch/issues"},"main":"./script/mod.js","module":"./esm/mod.js","types":"./types/mod.d.ts","exports":{".":{"import":{"types":"./types/mod.d.ts","default":"./esm/mod.js"},"require":{"types":"./types/mod.d.ts","default":"./script/mod.js"}}},"scripts":{"test":"node test_runner.js"},"devDependencies":{"@types/node":"^20.9.0","picocolors":"^1.0.0","@deno/shim-deno":"~0.18.0"},"_id":"x-forwarded-fetch@0.1.0","gitHead":"6d6bdf75cd9e1ee9ea0cd50e2cb1c5955bbde083","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-efU+YiIE81gNpS3hamzIjV/i0dAiNX72B8dySKYmeeinIt8uAozyzb6jFfE32uZrI30Ds2WBF3HVMz++dDlDtg==","shasum":"32032dc80631becadb62a954f9ca2788dfcc8757","tarball":"https://registry.npmjs.org/x-forwarded-fetch/-/x-forwarded-fetch-0.1.0.tgz","fileCount":20,"unpackedSize":15828,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/x-forwarded-fetch@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGS1bY3Uaj2IT7xYbECWg2GseD5zi5j/ZChl5G7q63hbAiEAtglVJFPuN7Ebf5RTemYJOqKB26ONz11ZtLMnopqJFzw="}]},"_npmUser":{"name":"hongminhee","email":"hong@minhee.org"},"directories":{},"maintainers":[{"name":"hongminhee","email":"hong@minhee.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/x-forwarded-fetch_0.1.0_1715518203763_0.34200412494842913"},"_hasShrinkwrap":false},"0.2.0":{"name":"x-forwarded-fetch","version":"0.2.0","description":"A middleware for fetch() behind a reverse proxy with X-Forwarded-* headers.","keywords":["fetch","proxy","reverse proxy","x-forwarded-host","x-forwarded-proto"],"author":{"name":"Hong Minhee","email":"hong@minhee.org","url":"https://hongminhee.org/"},"homepage":"https://github.com/dahlia/x-forwarded-fetch","repository":{"type":"git","url":"git+https://github.com/dahlia/x-forwarded-fetch.git"},"license":"MIT","bugs":{"url":"https://github.com/dahlia/x-forwarded-fetch/issues"},"main":"./script/mod.js","module":"./esm/mod.js","types":"./types/mod.d.ts","exports":{".":{"import":{"types":"./types/mod.d.ts","default":"./esm/mod.js"},"require":{"types":"./types/mod.d.ts","default":"./script/mod.js"}}},"scripts":{"test":"node test_runner.js"},"devDependencies":{"@types/node":"^20.9.0","picocolors":"^1.0.0","@deno/shim-deno":"~0.18.0"},"_id":"x-forwarded-fetch@0.2.0","gitHead":"a6f7a231970053396d54d7073658023ef8ce82bd","_nodeVersion":"20.13.1","_npmVersion":"10.5.2","dist":{"integrity":"sha512-2qsguQrLHFvP3/rnvxSSaw3DlK9eOOx9iyL+Qv+1YH8jzq6nbRk+P6gyFFNdWanyusyCHuE3/CnX3+gmLeYEeg==","shasum":"6710d3e28705fa1c08518a1b4730cd18ccd4965b","tarball":"https://registry.npmjs.org/x-forwarded-fetch/-/x-forwarded-fetch-0.2.0.tgz","fileCount":22,"unpackedSize":14047,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/x-forwarded-fetch@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDdEjdDa3qUUJOWMgrPhv1kB1dzuwkWfjaSVGBxizVcAiAcUwA5rA8CWNhFHwBpHC6+o9pcq1fuEVdgEGWAcY4zIA=="}]},"_npmUser":{"name":"hongminhee","email":"hong@minhee.org"},"directories":{},"maintainers":[{"name":"hongminhee","email":"hong@minhee.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/x-forwarded-fetch_0.2.0_1716043599054_0.629683233007005"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-12T12:47:46.039Z","0.1.0-dev.1":"2024-05-12T12:47:46.298Z","modified":"2024-05-18T14:46:39.738Z","0.1.0":"2024-05-12T12:50:04.018Z","0.2.0":"2024-05-18T14:46:39.310Z"},"maintainers":[{"name":"hongminhee","email":"hong@minhee.org"}],"description":"A middleware for fetch() behind a reverse proxy with X-Forwarded-* headers.","homepage":"https://github.com/dahlia/x-forwarded-fetch","keywords":["fetch","proxy","reverse proxy","x-forwarded-host","x-forwarded-proto"],"repository":{"type":"git","url":"git+https://github.com/dahlia/x-forwarded-fetch.git"},"author":{"name":"Hong Minhee","email":"hong@minhee.org","url":"https://hongminhee.org/"},"bugs":{"url":"https://github.com/dahlia/x-forwarded-fetch/issues"},"license":"MIT","readme":"<!-- deno-fmt-ignore-file -->\n\nx-forwarded-fetch\n=================\n\n[![JSR][JSR badge]][JSR]\n[![npm][npm badge]][npm]\n\nThis small library provides a middleware for `fetch()` behind a reverse proxy\nthat supports `X-Forwarded-Host` and `X-Forwarded-Proto` headers.\n\nThis is useful when you have a reverse proxy in front of your server that\nhandles SSL termination and forwards requests to your server over HTTP.\n\n[JSR]: https://jsr.io/@hongminhee/x-forwarded-fetch\n[JSR badge]: https://jsr.io/badges/@hongminhee/x-forwarded-fetch\n[npm]: https://npmjs.com/package/x-forwarded-fetch\n[npm badge]: https://img.shields.io/npm/v/x-forwarded-fetch?logo=npm\n\n\nInstallation\n------------\n\n### Deno\n\n~~~~ sh\ndeno add @hongminhee/x-forwarded-fetch\n~~~~\n\n### Bun\n\n~~~~ sh\nbun add x-forwarded-fetch\n~~~~\n\n### Node\n\n~~~~ sh\nnpm install x-forwarded-fetch\n~~~~\n\n\nUsage\n-----\n\nWrap your `fetch()` with `behindProxy()` to make it aware of\nthe `X-Forwarded-Host` and `X-Forwarded-Proto` headers.  For instance, in Deno:\n\n~~~~ typescript\nimport { behindProxy } from \"@hongminhee/x-forwarded-fetch\";\n\nDeno.serve(behindProxy(req => new Response(`The URL: ${req.url}`)));\n~~~~\n\nIn Bun:\n\n~~~~ typescript\nimport { behindProxy } from \"x-forwarded-fetch\";\n\nBun.serve({\n  fetch: behindProxy(req => new Response(`The URL: ${req.url}`))\n});\n~~~~\n\nIn Node with [@hono/node-server]:\n\n~~~~ typescript\nimport { serve } from \"@hono/node-server\";\nimport { behindProxy } from \"x-forwarded-fetch\";\n\nserve({\n  fetch: behindProxy(req => new Response(`The URL: ${req.url}`))\n});\n~~~~\n\n[@hono/node-server]: https://github.com/honojs/node-server\n","readmeFilename":"README.md"}