UNPKG

@studyportals/sp-hs-misc

Version:

Miscellaneous code used in HouseStark's projects

269 lines (244 loc) 11.7 kB
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; //# sourceMappingURL=service-layer-client.class.js.map var ServiceLayerClient = function () { _createClass(ServiceLayerClient, [{ key: "baseServiceLayerUrl", get: function get() { return this._baseServiceLayerUrl; } }, { key: "maximumRetries", get: function get() { return this._maximumRetries; } }, { key: "getRequestsSender", get: function get() { return this._getRequestsSender; } }, { key: "getCachedRequestsSender", get: function get() { return this._getCachedRequestsSender; } }, { key: "getResilientRequestsSender", get: function get() { return this._resilientRequestsSender; } }]); function ServiceLayerClient(superAgentRequestsFactory) { var baseServiceLayerUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; var maximumRetries = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; var userAgent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "Studyportals-HouseStark-Misc/1.0"; _classCallCheck(this, ServiceLayerClient); this.superAgentRequestsFactory = superAgentRequestsFactory; this._baseServiceLayerUrl = baseServiceLayerUrl; this._userAgent = userAgent; this._maximumRetries = maximumRetries; this.initializeRequestsSenders(); } _createClass(ServiceLayerClient, [{ key: "get", value: function get(path) { var headers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return __awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() { var request, header; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: request = this.createGetRequest(path); for (header in headers) { if (headers.hasOwnProperty(header)) { request.set(header, headers[header]); } } request.set("Cache-Control", "no-cache"); return _context.abrupt("return", this.getRequestsSender.send(request)); case 4: case "end": return _context.stop(); } } }, _callee, this); })); } }, { key: "getCached", value: function getCached(path) { var headers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "json"; var request = this.createGetRequest(path, type); for (var header in headers) { if (headers.hasOwnProperty(header)) { request.set(header, headers[header]); } } return this.getCachedRequestsSender.send(request); } }, { key: "post", value: function post(path, data) { var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "json"; return __awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { var request, header; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: request = this.createPostRequest(path, data, type); for (header in headers) { if (headers.hasOwnProperty(header)) { request.set(header, headers[header]); } } return _context2.abrupt("return", this.getResilientRequestsSender.send(request)); case 3: case "end": return _context2.stop(); } } }, _callee2, this); })); } }, { key: "put", value: function put(path, data) { var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "json"; return __awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { var request, header; return regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: request = this.createPutRequest(path, data, type); for (header in headers) { if (headers.hasOwnProperty(header)) { request.set(header, headers[header]); } } return _context3.abrupt("return", this.getResilientRequestsSender.send(request)); case 3: case "end": return _context3.stop(); } } }, _callee3, this); })); } }, { key: "delete", value: function _delete(path) { var headers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "json"; return __awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee4() { var request, header; return regeneratorRuntime.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: request = this.createDeleteRequest(path, type); for (header in headers) { if (headers.hasOwnProperty(header)) { request.set(header, headers[header]); } } return _context4.abrupt("return", this.getResilientRequestsSender.send(request)); case 3: case "end": return _context4.stop(); } } }, _callee4, this); })); } }, { key: "createGetRequest", value: function createGetRequest(path) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "json"; var request = this.superAgentRequestsFactory.get(this.buildUrl(path)); request.set("Accept-Language", "en-GB"); request.type(type); return request; } }, { key: "createPostRequest", value: function createPostRequest(path, data) { var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "json"; var request = this.superAgentRequestsFactory.post(this.buildUrl(path)); request.send(data); request.set("Accept-Language", "en-GB"); request.type(type); return request; } }, { key: "createPutRequest", value: function createPutRequest(path, data) { var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "json"; var request = this.superAgentRequestsFactory.put(this.buildUrl(path)); request.send(data); request.set("Accept-Language", "en-GB"); request.type(type); return request; } }, { key: "createDeleteRequest", value: function createDeleteRequest(path) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "json"; var request = this.superAgentRequestsFactory.delete(this.buildUrl(path)); request.set("Accept-Language", "en-GB"); request.type(type); return request; } }, { key: "buildUrl", value: function buildUrl(path) { return "" + this.baseServiceLayerUrl + path; } }, { key: "initializeRequestsSenders", value: function initializeRequestsSenders() { this._getCachedRequestsSender = new ResilientServiceLayerRequestsSenderDecorator(new ServiceLayerRequestsSender({ userAgent: this._userAgent }), this.maximumRetries); this._getRequestsSender = new ResilientServiceLayerRequestsSenderDecorator(new ServiceLayerRequestsSender({ userAgent: this._userAgent }), this.maximumRetries); this._resilientRequestsSender = new ResilientServiceLayerRequestsSenderDecorator(new ServiceLayerRequestsSender({ userAgent: this._userAgent }), this.maximumRetries); } }]); return ServiceLayerClient; }();