UNPKG

panda-sky-client

Version:

Auto-assembling client for APIs deployed with Panda Sky

73 lines (55 loc) 5.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _pandaGenerics = _interopRequireDefault(require("panda-generics")); var _pandaParchment = require("panda-parchment"); var _utf = require("@stablelib/utf8"); var _base = require("@stablelib/base64"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var authorization, isBasic, isBearer, isCapability, isScheme, isSigil; isScheme = function (scheme) { return function (name) { return scheme === name.toLowerCase(); }; }; isBasic = isScheme("basic"); isBearer = isScheme("bearer"); isCapability = isScheme("capability"); isSigil = isScheme("sigil"); authorization = _pandaGenerics.default.create({ name: "authorization", description: "This creates your Authorization HTTP header based on input configuration" }); _pandaGenerics.default.define(authorization, _pandaParchment.isString, function (header) { return header; }); _pandaGenerics.default.define(authorization, _pandaParchment.isObject, function (schemes) { var name, results, value; results = []; for (name in schemes) { value = schemes[name]; results.push(authorization(name, value)); } return results; }); _pandaGenerics.default.define(authorization, isBasic, _pandaParchment.isObject, function (name, { login, password }) { return "Basic " + (0, _base.encode)((0, _utf.encode)(`${login}:${password}`)); }); _pandaGenerics.default.define(authorization, isBearer, _pandaParchment.isString, function (name, token) { return `Bearer ${token}`; }); _pandaGenerics.default.define(authorization, isSigil, _pandaParchment.isString, function (name, token) { return `Sigil ${token}`; }); _pandaGenerics.default.define(authorization, isCapability, _pandaParchment.isString, function (name, token) { return `X-Capability ${token}`; }); var _default = authorization; exports.default = _default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9kYXZpZC9yZXBvcy9wYW5kYS1za3ktY2xpZW50L3NyYy9hdXRob3JpemF0aW9uLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFIQSxJQUFBLGFBQUEsRUFBQSxPQUFBLEVBQUEsUUFBQSxFQUFBLFlBQUEsRUFBQSxRQUFBLEVBQUEsT0FBQTs7QUFLQSxRQUFBLEdBQVcsVUFBQSxNQUFBLEVBQUE7U0FDVCxVQUFBLElBQUEsRUFBQTtXQUFVLE1BQUEsS0FBVSxJQUFJLENBQUosV0FBQSxFO0FBQXBCLEc7QUFEUyxDQUFYOztBQUVBLE9BQUEsR0FBVSxRQUFBLENBQUEsT0FBQSxDQUFWO0FBQ0EsUUFBQSxHQUFXLFFBQUEsQ0FBQSxRQUFBLENBQVg7QUFDQSxZQUFBLEdBQWUsUUFBQSxDQUFBLFlBQUEsQ0FBZjtBQUNBLE9BQUEsR0FBVSxRQUFBLENBQUEsT0FBQSxDQUFWO0FBRUEsYUFBQSxHQUFnQix1QkFBQSxNQUFBLENBQ2Q7QUFBQSxFQUFBLElBQUEsRUFBQSxlQUFBO0FBQ0EsRUFBQSxXQUFBLEVBQWE7QUFEYixDQURjLENBQWhCOztBQUlBLHVCQUFBLE1BQUEsQ0FBQSxhQUFBLEVBQUEsd0JBQUEsRUFBdUMsVUFBQSxNQUFBLEVBQUE7U0FBWSxNO0FBQW5ELENBQUE7O0FBRUEsdUJBQUEsTUFBQSxDQUFBLGFBQUEsRUFBQSx3QkFBQSxFQUF1QyxVQUFBLE9BQUEsRUFBQTtBQUNyQyxNQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsS0FBQTtBQUFBLEVBQUEsT0FBQSxHQUFBLEVBQUE7O0FBQUEsT0FBQSxJQUFBLElBQUEsT0FBQSxFQUFBOztpQkFDRSxhQUFBLENBQUEsSUFBQSxFQUFBLEtBQUEsQztBQURGOzs7QUFERixDQUFBOztBQUlBLHVCQUFBLE1BQUEsQ0FBQSxhQUFBLEVBQUEsT0FBQSxFQUFBLHdCQUFBLEVBQ0UsVUFBQSxJQUFBLEVBQU87QUFBQSxFQUFBLEtBQUE7QUFBUCxFQUFBO0FBQU8sQ0FBUCxFQUFBO1NBQ0UsV0FBVyxrQkFBYSxpQkFBVyxHQUFBLEtBQUEsSUFBQSxRQUF4QixFQUFhLENBQWIsQztBQUZmLENBQUE7O0FBSUEsdUJBQUEsTUFBQSxDQUFBLGFBQUEsRUFBQSxRQUFBLEVBQUEsd0JBQUEsRUFDRSxVQUFBLElBQUEsRUFBQSxLQUFBLEVBQUE7QUFBaUIsU0FBQSxVQUFBLEtBQUEsRUFBQTtBQURuQixDQUFBOztBQUdBLHVCQUFBLE1BQUEsQ0FBQSxhQUFBLEVBQUEsT0FBQSxFQUFBLHdCQUFBLEVBQ0UsVUFBQSxJQUFBLEVBQUEsS0FBQSxFQUFBO0FBQWlCLFNBQUEsU0FBQSxLQUFBLEVBQUE7QUFEbkIsQ0FBQTs7QUFHQSx1QkFBQSxNQUFBLENBQUEsYUFBQSxFQUFBLFlBQUEsRUFBQSx3QkFBQSxFQUNFLFVBQUEsSUFBQSxFQUFBLEtBQUEsRUFBQTtBQUFpQixTQUFBLGdCQUFBLEtBQUEsRUFBQTtBQURuQixDQUFBOztlQUdlLGEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWV0aG9kIGZyb20gXCJwYW5kYS1nZW5lcmljc1wiXG5pbXBvcnQge2lzT2JqZWN0LCBpc1N0cmluZywgdG9KU09OfSBmcm9tIFwicGFuZGEtcGFyY2htZW50XCJcbmltcG9ydCB7ZW5jb2RlIGFzIGRlY29kZVVURjh9IGZyb20gXCJAc3RhYmxlbGliL3V0ZjhcIlxuaW1wb3J0IHtlbmNvZGUgYXMgZW5jb2RlQmFzZTY0fSBmcm9tIFwiQHN0YWJsZWxpYi9iYXNlNjRcIlxuXG5pc1NjaGVtZSA9IChzY2hlbWUpIC0+XG4gIChuYW1lKSAtPiBzY2hlbWUgPT0gbmFtZS50b0xvd2VyQ2FzZSgpXG5pc0Jhc2ljID0gaXNTY2hlbWUgXCJiYXNpY1wiXG5pc0JlYXJlciA9IGlzU2NoZW1lIFwiYmVhcmVyXCJcbmlzQ2FwYWJpbGl0eSA9IGlzU2NoZW1lIFwiY2FwYWJpbGl0eVwiXG5pc1NpZ2lsID0gaXNTY2hlbWUgXCJzaWdpbFwiXG5cbmF1dGhvcml6YXRpb24gPSBNZXRob2QuY3JlYXRlXG4gIG5hbWU6IFwiYXV0aG9yaXphdGlvblwiXG4gIGRlc2NyaXB0aW9uOiBcIlRoaXMgY3JlYXRlcyB5b3VyIEF1dGhvcml6YXRpb24gSFRUUCBoZWFkZXIgYmFzZWQgb24gaW5wdXQgY29uZmlndXJhdGlvblwiXG5cbk1ldGhvZC5kZWZpbmUgYXV0aG9yaXphdGlvbiwgaXNTdHJpbmcsIChoZWFkZXIpIC0+IGhlYWRlclxuXG5NZXRob2QuZGVmaW5lIGF1dGhvcml6YXRpb24sIGlzT2JqZWN0LCAoc2NoZW1lcykgLT5cbiAgZm9yIG5hbWUsIHZhbHVlIG9mIHNjaGVtZXNcbiAgICBhdXRob3JpemF0aW9uIG5hbWUsIHZhbHVlXG5cbk1ldGhvZC5kZWZpbmUgYXV0aG9yaXphdGlvbiwgaXNCYXNpYywgaXNPYmplY3QsXG4gIChuYW1lLCB7bG9naW4sIHBhc3N3b3JkfSkgLT5cbiAgICBcIkJhc2ljIFwiICsgZW5jb2RlQmFzZTY0IGRlY29kZVVURjggXCIje2xvZ2lufToje3Bhc3N3b3JkfVwiXG5cbk1ldGhvZC5kZWZpbmUgYXV0aG9yaXphdGlvbiwgaXNCZWFyZXIsIGlzU3RyaW5nLFxuICAobmFtZSwgdG9rZW4pIC0+IFwiQmVhcmVyICN7dG9rZW59XCJcblxuTWV0aG9kLmRlZmluZSBhdXRob3JpemF0aW9uLCBpc1NpZ2lsLCBpc1N0cmluZyxcbiAgKG5hbWUsIHRva2VuKSAtPiBcIlNpZ2lsICN7dG9rZW59XCJcblxuTWV0aG9kLmRlZmluZSBhdXRob3JpemF0aW9uLCBpc0NhcGFiaWxpdHksIGlzU3RyaW5nLFxuICAobmFtZSwgdG9rZW4pIC0+IFwiWC1DYXBhYmlsaXR5ICN7dG9rZW59XCJcblxuZXhwb3J0IGRlZmF1bHQgYXV0aG9yaXphdGlvblxuIl0sInNvdXJjZVJvb3QiOiIifQ== //# sourceURL=/Users/david/repos/panda-sky-client/src/authorization.coffee