mongodb-stitch
Version:
[](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
82 lines • 3.48 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var HttpCookie_1 = __importDefault(require("../HttpCookie"));
var HttpResponse_1 = __importDefault(require("../HttpResponse"));
var Fields;
(function (Fields) {
Fields["Status"] = "status";
Fields["StatusCode"] = "statusCode";
Fields["ContentLength"] = "contentLength";
Fields["Headers"] = "headers";
Fields["Cookies"] = "cookies";
Fields["Body"] = "body";
Fields["CookieValue"] = "value";
Fields["CookiePath"] = "path";
Fields["CookieDomain"] = "domain";
Fields["CookieExpires"] = "expires";
Fields["CookieMaxAge"] = "maxAge";
Fields["CookieSecure"] = "secure";
Fields["CookieHttpOnly"] = "httpOnly";
})(Fields || (Fields = {}));
var HttpResponseDecoder = (function () {
function HttpResponseDecoder() {
}
HttpResponseDecoder.prototype.decode = function (document) {
var status = document[Fields.Status];
var statusCode = document[Fields.StatusCode];
var contentLength = document[Fields.ContentLength];
var headers;
if (document[Fields.Headers]) {
headers = {};
var headersDoc_1 = document[Fields.Headers];
Object.keys(headersDoc_1).forEach(function (headerKey) {
var headerValue = headersDoc_1[headerKey];
var valuesArr = headerValue;
var values = new Array();
for (var _i = 0, valuesArr_1 = valuesArr; _i < valuesArr_1.length; _i++) {
var value = valuesArr_1[_i];
values.push(value);
}
headers[headerKey] = values;
});
}
else {
headers = undefined;
}
var cookies;
if (document[Fields.Cookies]) {
cookies = {};
var cookiesDoc = document[Fields.Cookies];
for (var _i = 0, cookiesDoc_1 = cookiesDoc; _i < cookiesDoc_1.length; _i++) {
var _a = cookiesDoc_1[_i], headerKey = _a[0], headerValue = _a[1];
var name_1 = headerKey;
var cookieValues = headerValue;
var value = cookieValues[Fields.CookieValue];
var path = cookieValues[Fields.CookiePath] || undefined;
var domain = cookieValues[Fields.CookieDomain] || undefined;
var expires = cookieValues[Fields.CookieExpires] || undefined;
var maxAge = cookieValues[Fields.CookieMaxAge] || undefined;
var secure = cookieValues[Fields.CookieSecure] || undefined;
var httpOnly = cookieValues[Fields.CookieHttpOnly] || undefined;
cookies.put(headerKey, new HttpCookie_1.default(name_1, value, path, domain, expires, maxAge, secure, httpOnly));
}
}
else {
cookies = undefined;
}
var body = document[Fields.Body] || "";
return new HttpResponse_1.default(status, statusCode, contentLength, headers, cookies, body);
};
return HttpResponseDecoder;
}());
var ResultDecoders = (function () {
function ResultDecoders() {
}
ResultDecoders.HttpResponseDecoder = new HttpResponseDecoder();
return ResultDecoders;
}());
exports.default = ResultDecoders;
//# sourceMappingURL=ResultDecoders.js.map