Skip to content

Instantly share code, notes, and snippets.

@jrolfs
Created April 24, 2012 02:22

Revisions

  1. jrolfs created this gist Apr 24, 2012.
    34 changes: 34 additions & 0 deletions server.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,34 @@
    var express = require('express'),
    routingProxy = require('http-proxy').RoutingProxy(),
    app = express.createServer();

    var apiVersion = 1.0,
    apiHost = my.host.com,
    apiPort = 8080;

    function apiProxy(pattern, host, port) {
    return function(req, res, next) {
    if (req.url.match(pattern)) {
    routingProxy.proxyRequest(req, res, {host: host, port: port});
    } else {
    next();
    }
    }
    }

    app.configure(function () {
    // API proxy middleware
    app.use(apiProxy(new RegExp('\/' + apiVersion + '\/.*'), apiHost, apiPort));

    // Static content middleware
    app.use(express.methodOverride());
    app.use(express.bodyParser());
    app.use(express.static(__dirname));
    app.use(express.errorHandler({
    dumpExceptions: true,
    showStack: true
    }));
    app.use(app.router);
    });

    app.listen(3000);