UNPKG

aft-web-services

Version:

Automated Functional Testing (AFT) module for testing web services over HTTP and HTTPS

141 lines 5.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HttpHeaders = void 0; const aft_core_1 = require("aft-core"); /** * a module containing helper const and functions to generate * HTTP headers that can then be appended to your header object using: * ```typescript * const headers = { * ...HttpHeaders.Authorization.basic('myUsername', 'myPassword'), * ...HttpHeaders.ContentType.get(HttpHeaders.MimeType.applicationJson) * ...HttpHeaders.Cookies.setCookie({ * key: 'foo', * val: 'bar', * expiration: new Date().toString('u'), * secure: true, * httpOnly: true * }) * }; * ``` */ var HttpHeaders; (function (HttpHeaders) { let MimeType; (function (MimeType) { MimeType.applicationOctetstream = 'application/octet-stream'; MimeType.textPlain = 'text/plain'; MimeType.textCss = 'text/css'; MimeType.textHtml = 'text/html'; MimeType.textXml = 'text/xml'; MimeType.textJavascript = 'text/javascript'; MimeType.multipartFormData = 'multipart/form-data'; MimeType.applicationJson = 'application/json'; })(MimeType = HttpHeaders.MimeType || (HttpHeaders.MimeType = {})); let ContentType; (function (ContentType) { function get(mimeType) { return { "Content-Type": mimeType }; } ContentType.get = get; })(ContentType = HttpHeaders.ContentType || (HttpHeaders.ContentType = {})); let Accept; (function (Accept) { function get(mimeType) { return { Accept: mimeType }; } Accept.get = get; })(Accept = HttpHeaders.Accept || (HttpHeaders.Accept = {})); let Authorization; (function (Authorization) { function basic(username, password) { const encoded = aft_core_1.convert.toBase64Encoded(`${username}:${password}`); return { Authorization: `Basic ${encoded}` }; } Authorization.basic = basic; function bearer(token) { return { Authorization: `Basic ${token}` }; } Authorization.bearer = bearer; function digest(options) { const authData = new Array(); if (options === null || options === void 0 ? void 0 : options.username) { authData.push(`username=${options.username}`); } if (options === null || options === void 0 ? void 0 : options.realm) { authData.push(`realm=${options.realm}`); } if (options === null || options === void 0 ? void 0 : options.uri) { authData.push(`uri=${options.uri}`); } if (options === null || options === void 0 ? void 0 : options.algorithm) { authData.push(`algorithm=${options.algorithm}`); } if (options === null || options === void 0 ? void 0 : options.nonce) { authData.push(`nonce=${options.nonce}`); } if (options === null || options === void 0 ? void 0 : options.nc) { authData.push(`nc=${options.nc}`); } if (options === null || options === void 0 ? void 0 : options.cnonce) { authData.push(`cnonce=${options.cnonce}`); } if (options === null || options === void 0 ? void 0 : options.qop) { authData.push(`qop=${options.qop}`); } if (options === null || options === void 0 ? void 0 : options.response) { authData.push(`response=${options.response}`); } if (options === null || options === void 0 ? void 0 : options.opaque) { authData.push(`opaque=${options.opaque}`); } return { Authorization: `Digest ${authData.join(', ')}` }; } Authorization.digest = digest; })(Authorization = HttpHeaders.Authorization || (HttpHeaders.Authorization = {})); let Cookies; (function (Cookies) { function cookie(...cookies) { const cookieStrings = new Array(); for (let c of cookies) { if (c.key && c.val) { cookieStrings.push(`${c.key}=${c.val}`); } } return { Cookie: `${cookieStrings.join('; ')}` }; } Cookies.cookie = cookie; function setCookie(cookie) { const valsArr = new Array(); if (cookie.key && cookie.val) { valsArr.push(`${cookie.key}=${cookie.val}`); if (cookie.expires) { valsArr.push(`Expires=${cookie.expires}`); } if (cookie.secure) { valsArr.push('Secure'); } if (cookie.httpOnly) { valsArr.push('HttpOnly'); } } return { "Set-Cookie": `${valsArr.join('; ')}` }; } Cookies.setCookie = setCookie; })(Cookies = HttpHeaders.Cookies || (HttpHeaders.Cookies = {})); })(HttpHeaders || (exports.HttpHeaders = HttpHeaders = {})); //# sourceMappingURL=http-headers.js.map