0.3.4 • Published 4 years ago

proxies-on-cloudflare v0.3.4

Weekly downloads
226
License
-
Repository
-
Last release
4 years ago

proxies-on-cloudflare

Makes it easy to build Cloudflare Workers, by providing high-level proxying primitives addressing common needs.

Installation

$ yarn add proxies-on-cloudflare

Features

  • Built-in proxies for
    • Firebase (Hosting & CloudFunctions)
    • Mixpanel
  • Simple routing via quoi (providing a familiar express-like API)
  • One-liner proxies (e.g: proxy.to('https://upstream.com/'))
  • Loadbalancing (roundrobin, random, iphash, ...)
  • Fallback and error handling

Example

import { quoi, firebase, proxy }  from 'proxies-on-cloudflare';
import { hosting as hostingConfig } from './firebase.json';

// Init firebase proxy
const fbase = new firebase('gitbook-staging', hostingConfig);

// Route and listen
const app = quoi();
app.domain('app.gitbook.com').serve(fbase);
app.domain('test.gitbook.com').serve(proxy.to('https://test.github.io/test/'));
app.domain('storage.gitbook.com').serve(proxy.roundrobin(['https://server1', /* ... */ ]));
app.listen();

You can see a more complex (real-world) example in _examples/gitbook/

Why ?

We originally (GitBook) built proxies-on-cloudflare (previously named firebase-on-cloudflare) to fix connection issues we had between Cloudflare and Fastly/Firebase Hosting but have now extended it to solve broad routing needs.

0.3.4

4 years ago

0.3.3

4 years ago

0.3.1

4 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago