UNPKG

data-and-reporting-sdk

Version:

Data And Reporting product consists of API's which provides details of transaction and invoice informations about shell cards. The Shell Card Transaction and Invoice API is REST-based and employs Basic authentication in Version 1 and Oauth authentication

109 lines 4.93 kB
"use strict"; /** * Shell Data & Reporting APIsLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ exports.__esModule = true; exports.Client = void 0; var tslib_1 = require("tslib"); var authProvider_1 = require("./authProvider"); var bearerTokenManager_1 = require("./bearerTokenManager"); var configuration_1 = require("./configuration"); var defaultConfiguration_1 = require("./defaultConfiguration"); var core_1 = require("./core"); var core_2 = require("./core"); var clientAdapter_1 = require("./clientAdapter"); var USER_AGENT = 'APIMATIC 3.0'; var Client = /** @class */ (function () { function Client(config) { var _this = this; var _a, _b, _c, _d; this._config = tslib_1.__assign(tslib_1.__assign({}, defaultConfiguration_1.DEFAULT_CONFIGURATION), config); this._retryConfig = tslib_1.__assign(tslib_1.__assign({}, defaultConfiguration_1.DEFAULT_RETRY_CONFIG), (_a = this._config.httpClientOptions) === null || _a === void 0 ? void 0 : _a.retryConfig); this._timeout = typeof ((_b = this._config.httpClientOptions) === null || _b === void 0 ? void 0 : _b.timeout) != 'undefined' ? this._config.httpClientOptions.timeout : this._config.timeout; this._requestBuilderFactory = createRequestHandlerFactory(function (server) { return getBaseUri(server, _this._config); }, (0, authProvider_1.createAuthProviderFromConfig)(this._config, function () { return _this.bearerTokenManager; }), new clientAdapter_1.HttpClient(core_2.AbortError, { timeout: this._timeout, clientConfigOverrides: this._config.unstable_httpClientOptions, httpAgent: (_c = this._config.httpClientOptions) === null || _c === void 0 ? void 0 : _c.httpAgent, httpsAgent: (_d = this._config.httpClientOptions) === null || _d === void 0 ? void 0 : _d.httpsAgent }), [withErrorHandlers, withUserAgent, withAuthenticationByDefault], this._retryConfig); if (this._config.bearerTokenCredentials) { this.bearerTokenManager = new bearerTokenManager_1.BearerTokenManager(this._config.bearerTokenCredentials, this); } } Client.prototype.getRequestBuilderFactory = function () { return this._requestBuilderFactory; }; /** * Clone this client and override given configuration options */ Client.prototype.withConfiguration = function (config) { return new Client(tslib_1.__assign(tslib_1.__assign({}, this._config), config)); }; return Client; }()); exports.Client = Client; function createHttpClientAdapter(client) { var _this = this; return function (request, requestOptions) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, client.executeRequest(request, requestOptions)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; } function getBaseUri(server, config) { if (server === void 0) { server = 'OAuth Server'; } if (config.environment === configuration_1.Environment.SIT) { if (server === 'OAuth Server') { return 'https://api-test.shell.com'; } if (server === 'Shell') { return 'https://api-test.shell.com/test'; } } if (config.environment === configuration_1.Environment.Production) { if (server === 'OAuth Server') { return 'https://api.shell.com'; } if (server === 'Shell') { return 'https://api.shell.com'; } } throw new Error('Could not get Base URL. Invalid environment or server.'); } function createRequestHandlerFactory(baseUrlProvider, authProvider, httpClient, addons, retryConfig) { var requestBuilderFactory = (0, core_2.createRequestBuilderFactory)(createHttpClientAdapter(httpClient), baseUrlProvider, core_1.ApiError, authProvider, retryConfig); return tap.apply(void 0, tslib_1.__spreadArray([requestBuilderFactory], addons, false)); } function tap(requestBuilderFactory) { var callback = []; for (var _i = 1; _i < arguments.length; _i++) { callback[_i - 1] = arguments[_i]; } return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var requestBuilder = requestBuilderFactory.apply(void 0, args); callback.forEach(function (c) { return c(requestBuilder); }); return requestBuilder; }; } function withErrorHandlers(rb) { rb.defaultToError(core_1.ApiError); } function withUserAgent(rb) { rb.header('user-agent', USER_AGENT); } function withAuthenticationByDefault(rb) { rb.authenticate([{ basicAuth: true }, { bearerToken: true }]); } //# sourceMappingURL=client.js.map