mirror of
https://git.steelants.cz/JonatanRek/VUE_GabenParadise.git
synced 2026-10-11 19:34:33 +00:00
Restruct
This commit is contained in:
1 parent
1ba0d7f9ba
commit
8d7722be91
3362 files changed
+13786
-500745
No files matched your search
+15
-50
@@ -1,16 +1,15 @@
|
||||
'use strict';
|
||||
|
||||
var NodeHTTPParser = require('http-parser-js').HTTPParser,
|
||||
Buffer = require('safe-buffer').Buffer;
|
||||
|
||||
var TYPES = {
|
||||
request: NodeHTTPParser.REQUEST || 'request',
|
||||
response: NodeHTTPParser.RESPONSE || 'response'
|
||||
};
|
||||
var NodeHTTPParser = process.binding('http_parser').HTTPParser,
|
||||
version = NodeHTTPParser.RESPONSE ? 6 : 4;
|
||||
|
||||
var HttpParser = function(type) {
|
||||
if (type === 'request')
|
||||
this._parser = new NodeHTTPParser(NodeHTTPParser.REQUEST || 'request');
|
||||
else
|
||||
this._parser = new NodeHTTPParser(NodeHTTPParser.RESPONSE || 'response');
|
||||
|
||||
this._type = type;
|
||||
this._parser = new NodeHTTPParser(TYPES[type]);
|
||||
this._complete = false;
|
||||
this.headers = {};
|
||||
|
||||
@@ -77,59 +76,25 @@ HttpParser.METHODS = {
|
||||
13: 'PROPPATCH',
|
||||
14: 'SEARCH',
|
||||
15: 'UNLOCK',
|
||||
16: 'BIND',
|
||||
17: 'REBIND',
|
||||
18: 'UNBIND',
|
||||
19: 'ACL',
|
||||
20: 'REPORT',
|
||||
21: 'MKACTIVITY',
|
||||
22: 'CHECKOUT',
|
||||
23: 'MERGE',
|
||||
24: 'M-SEARCH',
|
||||
25: 'NOTIFY',
|
||||
26: 'SUBSCRIBE',
|
||||
27: 'UNSUBSCRIBE',
|
||||
28: 'PATCH',
|
||||
29: 'PURGE',
|
||||
30: 'MKCALENDAR',
|
||||
31: 'LINK',
|
||||
32: 'UNLINK'
|
||||
16: 'REPORT',
|
||||
17: 'MKACTIVITY',
|
||||
18: 'CHECKOUT',
|
||||
19: 'MERGE',
|
||||
24: 'PATCH'
|
||||
};
|
||||
|
||||
var VERSION = process.version
|
||||
? process.version.match(/[0-9]+/g).map(function(n) { return parseInt(n, 10) })
|
||||
: [];
|
||||
|
||||
if (VERSION[0] === 0 && VERSION[1] === 12) {
|
||||
HttpParser.METHODS[16] = 'REPORT';
|
||||
HttpParser.METHODS[17] = 'MKACTIVITY';
|
||||
HttpParser.METHODS[18] = 'CHECKOUT';
|
||||
HttpParser.METHODS[19] = 'MERGE';
|
||||
HttpParser.METHODS[20] = 'M-SEARCH';
|
||||
HttpParser.METHODS[21] = 'NOTIFY';
|
||||
HttpParser.METHODS[22] = 'SUBSCRIBE';
|
||||
HttpParser.METHODS[23] = 'UNSUBSCRIBE';
|
||||
HttpParser.METHODS[24] = 'PATCH';
|
||||
HttpParser.METHODS[25] = 'PURGE';
|
||||
}
|
||||
|
||||
HttpParser.prototype.isComplete = function() {
|
||||
return this._complete;
|
||||
};
|
||||
|
||||
HttpParser.prototype.parse = function(chunk) {
|
||||
var consumed = this._parser.execute(chunk, 0, chunk.length);
|
||||
|
||||
if (typeof consumed !== 'number') {
|
||||
this.error = consumed;
|
||||
this._complete = true;
|
||||
return;
|
||||
}
|
||||
var offset = (version < 6) ? 1 : 0,
|
||||
consumed = this._parser.execute(chunk, 0, chunk.length) + offset;
|
||||
|
||||
if (this._complete)
|
||||
this.body = (consumed < chunk.length)
|
||||
? chunk.slice(consumed)
|
||||
: Buffer.alloc(0);
|
||||
: new Buffer(0);
|
||||
};
|
||||
|
||||
module.exports = HttpParser;
|
||||
Reference in new issue
Block a user