@buckaroo/buckaroo_sdk
Version:
Buckaroo payment SDK
24 lines (23 loc) • 1.82 kB
TypeScript
import Headers, { RequestConfig } from './Headers';
import { BatchRequestResponse, HttpResponseConstructor, IRequest, IService, SpecificationRequestResponse, TransactionResponse } from '../Models';
import { DataRequestData, SpecificationRequestData, TransactionData } from './DataModels';
import { HttpMethods, RequestTypes } from '../Constants';
import { ICredentials } from '../Utils';
export default class Request<HttpResponse extends HttpResponseConstructor = HttpResponseConstructor, RequestData extends object | undefined = undefined> extends Headers {
protected _path?: string;
protected _data?: object | object[] | undefined;
protected _httpMethod: HttpMethods;
protected _responseHandler?: HttpResponseConstructor;
constructor(path?: string, method?: HttpMethods, data?: RequestData, responseHandler?: HttpResponse);
get data(): RequestData;
get httpMethod(): HttpMethods;
get url(): URL;
protected get responseHandler(): HttpResponse;
static Transaction(payload?: IRequest): Request<typeof TransactionResponse, TransactionData>;
static DataRequest(payload?: IRequest): Request<typeof TransactionResponse, DataRequestData>;
static Specification<T extends IService[] | IService>(type: RequestTypes.Data | RequestTypes.Transaction, data: T): T extends IService[] ? Request<typeof SpecificationRequestResponse, SpecificationRequestData> : Request<typeof SpecificationRequestResponse>;
static BatchTransaction(payload?: IRequest[]): Request<typeof BatchRequestResponse, TransactionData[]>;
static BatchDataRequest(data?: DataRequestData[]): Request<typeof BatchRequestResponse, DataRequestData[]>;
request(options?: RequestConfig): Promise<InstanceType<HttpResponse>>;
protected setAuthorizationHeader(data?: object, credentials?: ICredentials): this;
}