panda-sky-client
Version:
Auto-assembling client for APIs deployed with Panda Sky
73 lines (55 loc) • 5.55 kB
JavaScript
;
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