UNPKG

@adobe/pdftools-extract-node-sdk

Version:

The Document Services PDF Tools Extract Node.js SDK provides APIs for extracting elements and renditions from PDF

101 lines (82 loc) 2.96 kB
/* * Copyright 2019 Adobe * All Rights Reserved. * * NOTICE: Adobe permits you to use, modify, and distribute this file in * accordance with the terms of the Adobe license agreement accompanying * it. If you have received this file from a source other than Adobe, * then your use, modification, or distribution of it requires the prior * written permission of Adobe. */ const CPFRequestKeys = require('./cpf-service-request-key'), _ = require('lodash-core'), DCDefaultConfig = require('./../config/dc-services-default-config'), HttpRequest = require('../http/http-request'); class CPFServiceRequestContext { constructor(clientConfig) { Object.defineProperty(this, 'clientConfig', { value: clientConfig, writable: false }); this.baseOptions = null; } setOptionsMaps() { const baseOptions = new Map(); // Common V2 request options let cpfRequestOptions = { headers: { 'Accept': 'application/json, text/plain, */*', 'x-api-app-info': DCDefaultConfig.appInfo, 'x-api-key': DCDefaultConfig.globalApiKey }, authenticate: true }; // Initialize V2 Predict template const cpfPredictRequestOptions = {}; cpfPredictRequestOptions.requestConfig = { method: 'POST', uriTemplate: this.clientConfig.v2PredictUri, connectTimeout: this.clientConfig.connectTimeout, readTimeout: this.clientConfig.readTimeout }; cpfPredictRequestOptions.request_content_open = true; // Add default headers and any custom options. _.extend(cpfPredictRequestOptions, cpfRequestOptions); baseOptions.set(CPFRequestKeys.CPF_PREDICT, cpfPredictRequestOptions); //Initialize CPF create template const cpfCreateRequestOptions = {}; cpfCreateRequestOptions.requestConfig = { method: 'POST', uriTemplate: this.clientConfig.opsCreateUri, connectTimeout: this.clientConfig.connectTimeout, readTimeout: this.clientConfig.readTimeout }; cpfCreateRequestOptions.request_content_open = true; // Add default headers and any custom options. _.extend(cpfCreateRequestOptions, cpfRequestOptions); baseOptions.set(CPFRequestKeys.CPF_CREATE, cpfCreateRequestOptions); // Initialize CPF Status template const cpfStatusRequestOptions = {}; cpfStatusRequestOptions.requestConfig = { method: 'GET', connectTimeout: this.clientConfig.connectTimeout, readTimeout: this.clientConfig.readTimeout }; cpfStatusRequestOptions.response_content_open = true; // Add default headers and any custom options. _.extend(cpfStatusRequestOptions, cpfRequestOptions); baseOptions.set(CPFRequestKeys.CPF_STATUS, cpfStatusRequestOptions); this.setBaseOptions(baseOptions); } setBaseOptions(baseOptions) { this.baseOptions = baseOptions; } getBaseHttpRequest(key) { if (this.baseOptions === null) { this.setOptionsMaps(); } const baseOptions = this.baseOptions.get(key); return new HttpRequest(_.cloneDeep(baseOptions)); } } module.exports = CPFServiceRequestContext;