koa-proxy v1.0.0-alpha.3
koa-proxy 
Proxy middleware for koa
Install
$ npm install koa-proxy -SUsage
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
}));You can also add new headers to your response or override existing ones
app.use(proxy({
overrideResponseHeaders: {
"cow": "moo",
"duck": "quack"
},
}));LICENSE
Copyright (c) 2014 popomore. Licensed under the MIT license.
6 years ago
6 years ago
6 years ago
7 years ago
8 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
12 years ago
12 years ago