added static cors-anywhere
This commit is contained in:
152
cors-anywhere/test/setup.js
Normal file
152
cors-anywhere/test/setup.js
Normal file
@@ -0,0 +1,152 @@
|
||||
var nock = require('nock');
|
||||
if (parseInt(process.versions.node, 10) >= 8) {
|
||||
// See DEP0066 at https://nodejs.org/api/deprecations.html.
|
||||
// _headers and _headerNames have been removed from Node v8, which causes
|
||||
// nock <= 9.0.13 to fail. The snippet below monkey-patches the library, see
|
||||
// https://github.com/node-nock/nock/pull/929/commits/f6369d0edd2a172024124f
|
||||
// for the equivalent logic without proxies.
|
||||
Object.defineProperty(require('http').ClientRequest.prototype, '_headers', {
|
||||
get: function() {
|
||||
var request = this;
|
||||
// eslint-disable-next-line no-undef
|
||||
return new Proxy(request.getHeaders(), {
|
||||
set: function(target, property, value) {
|
||||
request.setHeader(property, value);
|
||||
return true;
|
||||
},
|
||||
});
|
||||
},
|
||||
set: function() {
|
||||
// Ignore.
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
nock.enableNetConnect('127.0.0.1');
|
||||
|
||||
function echoheaders(origin) {
|
||||
nock(origin)
|
||||
.persist()
|
||||
.get('/echoheaders')
|
||||
.reply(function() {
|
||||
var headers = this.req.headers;
|
||||
var excluded_headers = [
|
||||
'accept-encoding',
|
||||
'user-agent',
|
||||
'connection',
|
||||
// Remove this header since its value is platform-specific.
|
||||
'x-forwarded-for',
|
||||
'test-include-xfwd',
|
||||
];
|
||||
if (!('test-include-xfwd' in headers)) {
|
||||
excluded_headers.push('x-forwarded-port');
|
||||
excluded_headers.push('x-forwarded-proto');
|
||||
}
|
||||
var response = {};
|
||||
Object.keys(headers).forEach(function(name) {
|
||||
if (excluded_headers.indexOf(name) === -1) {
|
||||
response[name] = headers[name];
|
||||
}
|
||||
});
|
||||
return response;
|
||||
});
|
||||
}
|
||||
|
||||
nock('http://example.com')
|
||||
.persist()
|
||||
.get('/')
|
||||
.reply(200, 'Response from example.com')
|
||||
|
||||
.post('/echopost')
|
||||
.reply(200, function(uri, requestBody) {
|
||||
return requestBody;
|
||||
})
|
||||
|
||||
.get('/setcookie')
|
||||
.reply(200, '', {
|
||||
'Set-Cookie': 'x',
|
||||
'Set-Cookie2': 'y',
|
||||
'Set-Cookie3': 'z', // This is not a special cookie setting header.
|
||||
})
|
||||
|
||||
.get('/redirecttarget')
|
||||
.reply(200, 'redirect target', {
|
||||
'Some-header': 'value',
|
||||
})
|
||||
|
||||
.head('/redirect')
|
||||
.reply(302, '', {
|
||||
Location: '/redirecttarget',
|
||||
})
|
||||
|
||||
.get('/redirect')
|
||||
.reply(302, 'redirecting...', {
|
||||
'header at redirect': 'should not be here',
|
||||
Location: '/redirecttarget',
|
||||
})
|
||||
|
||||
.get('/redirectposttarget')
|
||||
.reply(200, 'post target')
|
||||
|
||||
.post('/redirectposttarget')
|
||||
.reply(200, 'post target (POST)')
|
||||
|
||||
.post('/redirectpost')
|
||||
.reply(302, 'redirecting...', {
|
||||
Location: '/redirectposttarget',
|
||||
})
|
||||
|
||||
.post('/redirect307')
|
||||
.reply(307, 'redirecting...', {
|
||||
Location: '/redirectposttarget',
|
||||
})
|
||||
|
||||
.get('/redirect2redirect')
|
||||
.reply(302, 'redirecting to redirect...', {
|
||||
Location: '/redirect',
|
||||
})
|
||||
|
||||
.get('/redirectloop')
|
||||
.reply(302, 'redirecting ad infinitum...', {
|
||||
Location: '/redirectloop',
|
||||
})
|
||||
|
||||
.get('/redirectwithoutlocation')
|
||||
.reply(302, 'maybe found')
|
||||
|
||||
.get('/proxyerror')
|
||||
.replyWithError('throw node')
|
||||
;
|
||||
|
||||
nock('https://example.com')
|
||||
.persist()
|
||||
.get('/')
|
||||
.reply(200, 'Response from https://example.com')
|
||||
;
|
||||
|
||||
nock('http://example.com.com')
|
||||
.persist()
|
||||
.get('/')
|
||||
.reply(200, 'Response from example.com.com')
|
||||
;
|
||||
|
||||
nock('http://example.com:1234')
|
||||
.persist()
|
||||
.get('/')
|
||||
.reply(200, 'Response from example.com:1234')
|
||||
;
|
||||
|
||||
nock('http://prefix.example.com')
|
||||
.persist()
|
||||
.get('/')
|
||||
.reply(200, 'Response from prefix.example.com')
|
||||
;
|
||||
|
||||
echoheaders('http://example.com');
|
||||
echoheaders('http://example.com:1337');
|
||||
echoheaders('https://example.com');
|
||||
echoheaders('https://example.com:1337');
|
||||
|
||||
nock('http://robots.txt')
|
||||
.get('/')
|
||||
.reply(200, 'this is http://robots.txt');
|
||||
Reference in New Issue
Block a user