UNPKG

mongodb-stitch

Version:

[![Join the chat at https://gitter.im/mongodb/stitch](https://badges.gitter.im/mongodb/stitch.svg)](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

82 lines 3.48 kB
"use strict"; 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