2013-08-17 07:15:57 +00:00
|
|
|
|
2015-10-11 22:59:51 +00:00
|
|
|
'use strict';
|
|
|
|
|
2014-08-16 09:58:06 +00:00
|
|
|
var Stream = require('stream');
|
2013-08-17 07:15:57 +00:00
|
|
|
var koa = require('..');
|
|
|
|
|
2013-11-14 02:34:15 +00:00
|
|
|
exports = module.exports = function(req, res){
|
2014-08-16 09:58:06 +00:00
|
|
|
var socket = new Stream.Duplex();
|
|
|
|
req = req || { headers: {}, socket: socket, __proto__: Stream.Readable.prototype };
|
|
|
|
res = res || { _headers: {}, socket: socket, __proto__: Stream.Writable.prototype };
|
2015-12-02 15:13:01 +00:00
|
|
|
req.socket = req.socket || socket;
|
|
|
|
res.socket = res.socket || socket;
|
2014-06-05 23:04:31 +00:00
|
|
|
res.getHeader = function(k){ return res._headers[k.toLowerCase()] };
|
2013-08-17 07:15:57 +00:00
|
|
|
res.setHeader = function(k, v){ res._headers[k.toLowerCase()] = v };
|
2013-11-24 13:06:35 +00:00
|
|
|
res.removeHeader = function(k, v){ delete res._headers[k.toLowerCase()] };
|
2013-11-14 02:34:15 +00:00
|
|
|
return koa().createContext(req, res);
|
2013-08-17 07:15:57 +00:00
|
|
|
}
|
|
|
|
|
2013-11-14 02:34:15 +00:00
|
|
|
exports.request = function(req, res){
|
|
|
|
return exports(req, res).request;
|
|
|
|
}
|
|
|
|
|
|
|
|
exports.response = function(req, res){
|
|
|
|
return exports(req, res).response;
|
2014-04-09 16:02:13 +00:00
|
|
|
}
|