@ant-basement/core
Version:
Ant Basement JavaScript SDK Core
101 lines • 6.97 kB
JavaScript
import { __assign, __extends } from "tslib";
import { HTTPMethod, SERVERLESS_HEADER_PREFIX } from '../constant';
import { camelToLisp } from '../utility';
var BaseEncoder = (function () {
function BaseEncoder() {
}
return BaseEncoder;
}());
export { BaseEncoder };
var HTTPRequestEncoder = (function (_super) {
__extends(HTTPRequestEncoder, _super);
function HTTPRequestEncoder(endpoint, prefix) {
var _this = _super.call(this) || this;
_this.endpoint = endpoint;
_this.body = {};
_this.query = {};
_this.method = HTTPMethod.POST;
_this.prefix = '';
_this.baseHeaders = {};
_this.serviceHeaders = {};
_this.serverlessHeaders = {};
if (prefix) {
_this.prefix = prefix;
}
return _this;
}
Object.defineProperty(HTTPRequestEncoder.prototype, "url", {
get: function () {
return [
this.endpoint + this.prefix,
]
.filter(function (p) { return !!p; })
.join('?');
},
enumerable: true,
configurable: true
});
Object.defineProperty(HTTPRequestEncoder.prototype, "headers", {
get: function () {
var _this = this;
var normalizedHeaders = Object
.keys(this.serverlessHeaders)
.reduce(function (accu, prop) {
var key = "" + SERVERLESS_HEADER_PREFIX + camelToLisp(prop);
accu[key] = _this.serverlessHeaders[prop];
return accu;
}, {});
return __assign(__assign({}, this.baseHeaders), normalizedHeaders);
},
enumerable: true,
configurable: true
});
HTTPRequestEncoder.prototype.setBodyField = function (fields) {
this.body = Object.assign({}, this.body, __assign({}, fields));
return this;
};
HTTPRequestEncoder.prototype.setUserId = function (userId) {
this.setBodyField({
userId: userId,
});
return this;
};
HTTPRequestEncoder.prototype.setBaseHeaders = function (headers) {
if (headers === void 0) { headers = {}; }
this.baseHeaders = __assign(__assign({}, this.baseHeaders), Object.keys(headers).reduce(function (accu, key) {
if (headers[key]) {
accu[key] = headers[key].toString();
}
return accu;
}, {}));
return this;
};
HTTPRequestEncoder.prototype.setServerlessHeaders = function (headers) {
if (headers === void 0) { headers = {}; }
this.serverlessHeaders = __assign(__assign({}, this.serverlessHeaders), Object.keys(headers).reduce(function (accu, key) {
if (headers[key]) {
accu[key] = headers[key].toString();
}
return accu;
}, {}));
return this;
};
HTTPRequestEncoder.prototype.encode = function () {
var _ = [];
for (var _i = 0; _i < arguments.length; _i++) {
_[_i] = arguments[_i];
}
if (this.body.params) {
this.body.params = JSON.stringify(this.body.params);
}
return {
url: this.url,
body: this.body,
method: this.method,
headers: this.headers,
};
};
return HTTPRequestEncoder;
}(BaseEncoder));
export { HTTPRequestEncoder };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2RlYy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFVLE1BQU0sYUFBYSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJekM7SUFBQTtJQU9BLENBQUM7SUFBRCxrQkFBQztBQUFELENBQUMsQUFQRCxJQU9DOztBQVNEO0lBQXdDLHNDQUFXO0lBVWpELDRCQUFzQixRQUFnQixFQUFFLE1BQWU7UUFBdkQsWUFDRSxpQkFBTyxTQUtSO1FBTnFCLGNBQVEsR0FBUixRQUFRLENBQVE7UUFUL0IsVUFBSSxHQUF1QixFQUFFLENBQUM7UUFDOUIsV0FBSyxHQUEwQixFQUFFLENBQUM7UUFDbEMsWUFBTSxHQUFlLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDbEMsWUFBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixpQkFBVyxHQUEwQixFQUFFLENBQUM7UUFDeEMsb0JBQWMsR0FBMEIsRUFBRSxDQUFDO1FBQzNDLHVCQUFpQixHQUEwQixFQUFFLENBQUM7UUFNdEQsSUFBSSxNQUFNLEVBQUU7WUFDVixLQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUN0Qjs7SUFDSCxDQUFDO0lBRUQsc0JBQVcsbUNBQUc7YUFBZDtZQUNFLE9BQU87Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTTthQUM1QjtpQkFDRSxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFILENBQUcsQ0FBQztpQkFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyx1Q0FBTzthQUFsQjtZQUFBLGlCQWVDO1lBWkMsSUFBTSxpQkFBaUIsR0FBRyxNQUFNO2lCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2lCQUM1QixNQUFNLENBQUMsVUFBQyxJQUFJLEVBQUUsSUFBSTtnQkFDakIsSUFBTSxHQUFHLEdBQUcsS0FBRyx3QkFBd0IsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFHLENBQUM7Z0JBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRVQsNkJBQ0ssSUFBSSxDQUFDLFdBQVcsR0FDaEIsaUJBQWlCLEVBQ3BCO1FBQ0osQ0FBQzs7O09BQUE7SUFPTSx5Q0FBWSxHQUFuQixVQUFvQixNQUEwQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLGVBQ2xDLE1BQU0sRUFDVCxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBT00sc0NBQVMsR0FBaEIsVUFBaUIsTUFBYztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ2hCLE1BQU0sUUFBQTtTQUNQLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQU9NLDJDQUFjLEdBQXJCLFVBQXNCLE9BQTBDO1FBQTFDLHdCQUFBLEVBQUEsWUFBMEM7UUFDOUQsSUFBSSxDQUFDLFdBQVcseUJBQ1gsSUFBSSxDQUFDLFdBQVcsR0FDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxJQUFJLEVBQUUsR0FBRztZQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFPTSxpREFBb0IsR0FBM0IsVUFBNEIsT0FBMEM7UUFBMUMsd0JBQUEsRUFBQSxZQUEwQztRQUNwRSxJQUFJLENBQUMsaUJBQWlCLHlCQUNqQixJQUFJLENBQUMsaUJBQWlCLEdBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBSSxFQUFFLEdBQUc7WUFDdkMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDckM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDUCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBT00sbUNBQU0sR0FBYjtRQUFjLFdBQVc7YUFBWCxVQUFXLEVBQVgscUJBQVcsRUFBWCxJQUFXO1lBQVgsc0JBQVc7O1FBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQztJQUNKLENBQUM7SUFDSCx5QkFBQztBQUFELENBQUMsQUF6SEQsQ0FBd0MsV0FBVyxHQXlIbEQifQ==