Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

fetch-proxy

HTTP proxy utilities built on the web Fetch API. Use fetch-proxy to create fetch handlers that forward requests to target servers while optionally rewriting headers and cookies.

Features

  • Web Standards - Built on the standard JavaScript Fetch API
  • Cookie Rewriting - Supports rewriting Set-Cookie headers received from target server
  • Forwarding Headers - Supports X-Forwarded-Proto and X-Forwarded-Host headers
  • Custom Fetch - Supports custom fetch implementations

Installation

npm i remix

Usage

import { createFetchProxy } from 'remix/fetch-proxy'

// Create a proxy that sends all requests through to remix.run
let proxy = createFetchProxy('https://remix.run')

// This fetch handler is probably running as part of your server somewhere...
function handleFetch(request: Request): Promise<Response> {
  return proxy(request)
}

// Test it out by manually throwing a Request at it
let response = await handleFetch(new Request('https://shopify.com'))

let text = await response.text()
let title = text.match(/<title>([^<]+)<\/title>/)[1]
assert(title.includes('Remix'))

Related Packages

License

See LICENSE