@ant-basement/core
Version:
Ant Basement JavaScript SDK Core
102 lines • 6.63 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "../constant", "../utility"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constant_1 = require("../constant");
const utility_1 = require("../utility");
class BaseEncoder {
}
exports.BaseEncoder = BaseEncoder;
class HTTPRequestEncoder extends BaseEncoder {
constructor(endpoint, prefix) {
super();
this.endpoint = endpoint;
this.body = {};
this.query = {};
this.method = constant_1.HTTPMethod.POST;
this.prefix = '';
this.baseHeaders = {};
this.serviceHeaders = {};
this.serverlessHeaders = {};
if (prefix) {
this.prefix = prefix;
}
}
get url() {
return [
this.endpoint + this.prefix,
]
.filter(p => !!p)
.join('?');
}
get headers() {
const normalizedHeaders = Object
.keys(this.serverlessHeaders)
.reduce((accu, prop) => {
const key = `${constant_1.SERVERLESS_HEADER_PREFIX}${utility_1.camelToLisp(prop)}`;
accu[key] = this.serverlessHeaders[prop];
return accu;
}, {});
return {
...this.baseHeaders,
...normalizedHeaders,
};
}
setBodyField(fields) {
this.body = Object.assign({}, this.body, {
...fields,
});
return this;
}
setUserId(userId) {
this.setBodyField({
userId,
});
return this;
}
setBaseHeaders(headers = {}) {
this.baseHeaders = {
...this.baseHeaders,
...Object.keys(headers).reduce((accu, key) => {
if (headers[key]) {
accu[key] = headers[key].toString();
}
return accu;
}, {}),
};
return this;
}
setServerlessHeaders(headers = {}) {
this.serverlessHeaders = {
...this.serverlessHeaders,
...Object.keys(headers).reduce((accu, key) => {
if (headers[key]) {
accu[key] = headers[key].toString();
}
return accu;
}, {}),
};
return this;
}
encode(..._) {
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,
};
}
}
exports.HTTPRequestEncoder = HTTPRequestEncoder;
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2RlYy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQ0EsMENBQTJFO0lBQzNFLHdDQUF5QztJQUl6QyxNQUFzQixXQUFXO0tBT2hDO0lBUEQsa0NBT0M7SUFTRCxNQUFhLGtCQUFtQixTQUFRLFdBQVc7UUFVakQsWUFBc0IsUUFBZ0IsRUFBRSxNQUFlO1lBQ3JELEtBQUssRUFBRSxDQUFDO1lBRFksYUFBUSxHQUFSLFFBQVEsQ0FBUTtZQVQvQixTQUFJLEdBQXVCLEVBQUUsQ0FBQztZQUM5QixVQUFLLEdBQTBCLEVBQUUsQ0FBQztZQUNsQyxXQUFNLEdBQWUscUJBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbEMsV0FBTSxHQUFXLEVBQUUsQ0FBQztZQUNwQixnQkFBVyxHQUEwQixFQUFFLENBQUM7WUFDeEMsbUJBQWMsR0FBMEIsRUFBRSxDQUFDO1lBQzNDLHNCQUFpQixHQUEwQixFQUFFLENBQUM7WUFNdEQsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7YUFDdEI7UUFDSCxDQUFDO1FBRUQsSUFBVyxHQUFHO1lBQ1osT0FBTztnQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNO2FBQzVCO2lCQUNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLENBQUM7UUFFRCxJQUFXLE9BQU87WUFHaEIsTUFBTSxpQkFBaUIsR0FBRyxNQUFNO2lCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2lCQUM1QixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JCLE1BQU0sR0FBRyxHQUFHLEdBQUcsbUNBQXdCLEdBQUcs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