koa-lite/test/helpers/context.js

24 lines
780 B
JavaScript
Raw Normal View History

2013-08-17 07:15:57 +00:00
'use strict';
const Stream = require('stream');
2015-10-13 06:19:42 +00:00
const Koa = require('../..');
2013-08-17 07:15:57 +00:00
2015-10-13 06:43:23 +00:00
module.exports = function(req, res){
const socket = new Stream.Duplex();
req = req || { headers: {}, socket: socket, __proto__: Stream.Readable.prototype };
res = res || { _headers: {}, socket: socket, __proto__: Stream.Writable.prototype };
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 };
res.removeHeader = function(k, v){ delete res._headers[k.toLowerCase()] };
2015-10-13 06:19:42 +00:00
return (new Koa()).createContext(req, res);
2013-08-17 07:15:57 +00:00
}
2015-10-13 06:43:23 +00:00
module.exports.request = function(req, res){
return module.exports(req, res).request;
}
2015-10-13 06:43:23 +00:00
module.exports.response = function(req, res){
return module.exports(req, res).response;
}