base project
This commit is contained in:
58
node_modules/union/lib/request-stream.js
generated
vendored
Normal file
58
node_modules/union/lib/request-stream.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* http-stream.js: Idomatic buffered stream which pipes additional HTTP information.
|
||||
*
|
||||
* (C) 2011, Charlie Robbins & the Contributors
|
||||
* MIT LICENSE
|
||||
*
|
||||
*/
|
||||
|
||||
var url = require('url'),
|
||||
util = require('util'),
|
||||
qs = require('qs'),
|
||||
HttpStream = require('./http-stream');
|
||||
|
||||
var RequestStream = module.exports = function (options) {
|
||||
options = options || {};
|
||||
HttpStream.call(this, options);
|
||||
|
||||
this.on('pipe', this.pipeRequest);
|
||||
this.request = options.request;
|
||||
};
|
||||
|
||||
util.inherits(RequestStream, HttpStream);
|
||||
|
||||
//
|
||||
// ### function pipeRequest (source)
|
||||
// #### @source {ServerRequest|HttpStream} Source stream piping to this instance
|
||||
// Pipes additional HTTP request metadata from the `source` HTTP stream (either concrete or
|
||||
// abstract) to this instance. e.g. url, headers, query, etc.
|
||||
//
|
||||
// Remark: Is there anything else we wish to pipe?
|
||||
//
|
||||
RequestStream.prototype.pipeRequest = function (source) {
|
||||
this.url = this.originalUrl = source.url;
|
||||
this.method = source.method;
|
||||
this.httpVersion = source.httpVersion;
|
||||
this.httpVersionMajor = source.httpVersionMajor;
|
||||
this.httpVersionMinor = source.httpVersionMinor;
|
||||
this.setEncoding = source.setEncoding;
|
||||
this.connection = source.connection;
|
||||
this.socket = source.socket;
|
||||
|
||||
if (source.query) {
|
||||
this.query = source.query;
|
||||
}
|
||||
else {
|
||||
this.query = ~source.url.indexOf('?')
|
||||
? qs.parse(url.parse(source.url).query)
|
||||
: {};
|
||||
}
|
||||
};
|
||||
|
||||
// http.serverRequest methods
|
||||
['setEncoding'].forEach(function (method) {
|
||||
RequestStream.prototype[method] = function () {
|
||||
return this.request[method].apply(this.request, arguments);
|
||||
};
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user