UNPKG

@configurator/ravendb

Version:
80 lines 2.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HeadersBuilder = exports.closeHttpResponse = exports.getHeaders = exports.getBooleanHeader = exports.etagHeaderToChangeVector = exports.getEtagHeader = exports.getRequiredEtagHeader = void 0; const Constants_1 = require("../Constants"); const Exceptions_1 = require("../Exceptions"); function getRequiredEtagHeader(response) { let etagHeader = response.headers.get(Constants_1.HEADERS.ETAG); if (!etagHeader) { (0, Exceptions_1.throwError)("InvalidOperationException", "Response did't had an ETag header"); } if (Array.isArray(etagHeader)) { etagHeader = etagHeader[0]; } return etagHeaderToChangeVector(etagHeader); } exports.getRequiredEtagHeader = getRequiredEtagHeader; function getEtagHeader(responseOrHeaders) { let etagHeaders; if ("headers" in responseOrHeaders) { etagHeaders = responseOrHeaders.headers.get(Constants_1.HEADERS.ETAG); } else if (Constants_1.HEADERS.ETAG in responseOrHeaders) { etagHeaders = responseOrHeaders[Constants_1.HEADERS.ETAG]; } else { etagHeaders = null; } const singleHeader = Array.isArray(etagHeaders) ? etagHeaders[0] : (etagHeaders || null); return singleHeader ? etagHeaderToChangeVector(singleHeader) : null; } exports.getEtagHeader = getEtagHeader; function etagHeaderToChangeVector(responseHeader) { if (!responseHeader) { (0, Exceptions_1.throwError)("InvalidOperationException", "Response did't had an ETag header"); } if (responseHeader.startsWith(`"`)) { return responseHeader.substring(1, responseHeader.length - 1); } return responseHeader; } exports.etagHeaderToChangeVector = etagHeaderToChangeVector; function getBooleanHeader(response, header) { const headers = response.headers; let headerVal = headers.get(header); if (headerVal && Array.isArray(headerVal)) { headerVal = (headerVal[0] || null); } return headerVal ? headerVal.toLowerCase() === "true" : null; } exports.getBooleanHeader = getBooleanHeader; function getHeaders() { return HeadersBuilder.create(); } exports.getHeaders = getHeaders; function closeHttpResponse(response) { } exports.closeHttpResponse = closeHttpResponse; class HeadersBuilder { constructor() { this._result = {}; } static create() { return new HeadersBuilder(); } typeAppJson() { this._result["content-type"] = "application/json"; return this; } with(name, val) { this._result[name] = val; return this; } build() { return this._result; } } exports.HeadersBuilder = HeadersBuilder; //# sourceMappingURL=HttpUtil.js.map