Détail du package

x-forwarded-fetch

dahlia16.9kMIT0.2.0

A middleware for fetch() behind a reverse proxy with X-Forwarded-* headers.

fetch, proxy, reverse proxy, x-forwarded-host

readme

x-forwarded-fetch

JSR npm

This small library provides a middleware for fetch() behind a reverse proxy that supports X-Forwarded-Host and X-Forwarded-Proto headers.

This is useful when you have a reverse proxy in front of your server that handles SSL termination and forwards requests to your server over HTTP.

Installation

Deno

deno add @hongminhee/x-forwarded-fetch

Bun

bun add x-forwarded-fetch

Node

npm install x-forwarded-fetch

Usage

Wrap your fetch() with behindProxy() to make it aware of the X-Forwarded-Host and X-Forwarded-Proto headers. For instance, in Deno:

import { behindProxy } from "@hongminhee/x-forwarded-fetch";

Deno.serve(behindProxy(req => new Response(`The URL: ${req.url}`)));

In Bun:

import { behindProxy } from "x-forwarded-fetch";

Bun.serve({
  fetch: behindProxy(req => new Response(`The URL: ${req.url}`))
});

In Node with @hono/node-server:

import { serve } from "@hono/node-server";
import { behindProxy } from "x-forwarded-fetch";

serve({
  fetch: behindProxy(req => new Response(`The URL: ${req.url}`))
});

changelog

Changelog

Version 0.2.0

Released on May 18, 2024.

  • Fixed a bug that a Request.body had been truncated on Bun.
  • The return type of getXForwardedRequest() is changed from Request to Promise<Request>.

Version 0.1.0

Initial release. Released on May 12, 2024.