UNPKG

asposepdfcloud

Version:

Aspose.PDF Cloud is a REST API for creating and editing PDF files. Most popular features proposed by Aspose.PDF Cloud: PDF to Word, Convert PDF to Image, Merge PDF, Split PDF, Add Images to PDF, Rotate PDF. It can also be used to convert PDF files to diff

75 lines 3.19 kB
"use strict"; 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.OAuth = void 0; const requestHelper_1 = require("./requestHelper"); class OAuth { applyToRequest(requestOptions, configuration) { return __awaiter(this, void 0, void 0, function* () { if (this.accessToken == null) { yield this._requestToken(configuration); } if (requestOptions && requestOptions.headers) { requestOptions.headers.Authorization = "Bearer " + this.accessToken; } return Promise.resolve(); }); } handle401response(configuration) { return __awaiter(this, void 0, void 0, function* () { yield this._requestToken(configuration); }); } _requestToken(configuration) { return __awaiter(this, void 0, void 0, function* () { console.log("baseUrl: " + configuration.baseUrl); var tokenUrl = configuration.baseUrl.replace("/v3.0", "") + "/connect/token"; console.log("tokenUrl: " + tokenUrl); const requestOptions = { method: "POST", json: true, uri: tokenUrl, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, form: { grant_type: "client_credentials", client_id: configuration.appSID, client_secret: configuration.appKey, }, }; try { const response = yield (0, requestHelper_1.invokeApiMethod)(requestOptions, configuration, true); if (!response.body.access_token || response.body.access_token.trim() == "") { this._handleResponseError(response); } this.accessToken = response.body.access_token; } catch (err) { if (err.response) { this._handleResponseError(err.response); } else { throw err; } } return Promise.resolve(); }); } _handleResponseError(response) { if (typeof response.body == 'string' && response.body.trim() != '') { throw new Error(response.body); } else { throw new Error(`empty token (${JSON.stringify(response.body)})`); } } } exports.OAuth = OAuth; //# sourceMappingURL=auth.js.map