@teclone/r-server
Version:
A lightweight, extensible web-server with inbuilt routing-engine, static file server, file upload handler, request body parser, middleware support and lots more
90 lines (80 loc) • 4.17 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var _createClass = require('@babel/runtime/helpers/createClass');
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
var _inherits = require('@babel/runtime/helpers/inherits');
var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
var http = require('http');
var http2 = require('http2');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var createRequestClass = function createRequestClass(BaseRequestClass, opts) {
var init = opts.init;
var RequestClass = BaseRequestClass;
RequestClass.prototype.init = function (encrypted) {
this.buffer = Buffer.alloc(0);
this.query = {};
// data is a merge of query and body
this.data = {};
if (init) {
init.call(this, encrypted);
}
};
return RequestClass;
};
// HTTP1Request
var Http1BaseRequest = /*#__PURE__*/function (_IncomingMessage) {
_inherits__default["default"](Http1BaseRequest, _IncomingMessage);
var _super = _createSuper(Http1BaseRequest);
function Http1BaseRequest() {
_classCallCheck__default["default"](this, Http1BaseRequest);
return _super.apply(this, arguments);
}
return _createClass__default["default"](Http1BaseRequest);
}(http.IncomingMessage);
var Http1Request = createRequestClass(Http1BaseRequest, {
init: function init(encrypted) {
if (!this.initialized) {
this.startedAt = new Date();
this.entityTooLarge = false;
this.method = this.method.toLowerCase();
var host = this.headers['host'];
var protocol = encrypted ? 'https' : 'http';
this.encrypted = encrypted;
this.parsedUrl = new URL(this.url, "".concat(protocol, "://").concat(host));
this.initialized = true;
}
}
});
// HTTP2Request
var Http2BaseRequest = /*#__PURE__*/function (_Http2ServerRequest) {
_inherits__default["default"](Http2BaseRequest, _Http2ServerRequest);
var _super2 = _createSuper(Http2BaseRequest);
function Http2BaseRequest() {
_classCallCheck__default["default"](this, Http2BaseRequest);
return _super2.apply(this, arguments);
}
return _createClass__default["default"](Http2BaseRequest);
}(http2.Http2ServerRequest);
var Http2Request = createRequestClass(Http2BaseRequest, {
init: function init(encrypted) {
this.startedAt = new Date();
this.entityTooLarge = false;
var host = this.authority;
var protocol = encrypted ? 'https' : 'http';
this.method = this.method.toLowerCase();
this.encrypted = encrypted;
this.parsedUrl = new URL(this.url, "".concat(protocol, "://").concat(host));
this.initialized = true;
}
});
exports.Http1Request = Http1Request;
exports.Http2Request = Http2Request;
//# sourceMappingURL=Request.js.map