Neutral Political Machine
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    koa-proxypublic

    koa-proxy Build Status Coverage Status

    Proxy middleware for koa


    Install

    $ npm install koa-proxy -S
    

    Usage

    When you request http://localhost:3000/index.js, it will fetch http://alicdn.com/index.js and return.

    var koa = require('koa');
    var proxy = require('koa-proxy');
    var app = koa();
    app.use(proxy({
      host: 'http://alicdn.com'
    }));
    app.listen(3000);

    You can proxy a specified url.

    app.get('index.js', proxy({
      url: 'http://alicdn.com/index.js'
    }));

    You can specify a key/value object that can map your request's path to the other.

    app.get('index.js', proxy({
      host: 'http://alicdn.com',
      map: {
        'index.js': 'index-1.js'
      }
    }));

    You can specify a function that can map your request's path to the desired destination.

    app.get('index.js', proxy({
      host: 'http://alicdn.com',
      map: function(path) { return 'public/' + path; }
    }));

    You can specify match criteria to restrict proxy calls to a given path.

    app.use(proxy({
      host:  'http://alicdn.com', // proxy alicdn.com...
      match: /^\/static\//        // ...just the /static folder
    }));

    Or you can use match to exclude a specific path.

    app.use(proxy({
      host:  'http://alicdn.com',     // proxy alicdn.com...
      match: /^(?!\/dontproxy\.html)/ // ...everything except /dontproxy.html
    }));

    Proxy won't send cookie to real server, you can set jar = true to send it.

    app.use(proxy({
      jar: true,
    }));

    Proxy won't send 'foo' and 'bar' headers to real server, or recieve 'jar-jar' from real server.

    app.use(proxy({
      suppressRequestHeaders: ['foo','bar'], // case-insensitive
      suppressResponseHeaders: ['jar-jar'] // case-insensitive
    }));

    LICENSE

    Copyright (c) 2014 popomore. Licensed under the MIT license.

    install

    npm i koa-proxy

    Downloadsweekly downloads

    5,135

    version

    0.9.0

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar