@simbachain/simbats
Version:
TypeScript SDK for SIMBA Chain
135 lines • 5.08 kB
TypeScript
import { AxiosResponse } from "axios";
import FormData from "form-data";
export declare enum RequestMethods {
POST = "POST",
PUT = "PUT",
DELETE = "DELETE",
GET = "GET"
}
/**
* class for making HTTP requests
*/
export declare class RequestHandler {
baseURL: string;
constructor(baseURL?: string);
/**
* method for building a URL, accounting for redundant slashes, etc.
* @param baseURL
* @param endpoint
* @returns {string}
*/
buildURL(baseURL: string, endpoint: string): string;
/**
* general method for making HTTP requests. never gets called directly
* @param url
* @param method
* @param options
* @param data
* @param parseDataFromResponse
* @returns {Promise<AxiosResponse<any> | Record<any, any> | Array<any>>}
*/
doHTTPRequest(url: string, method: string, options: Record<any, any>, data?: Record<any, any>, parseDataFromResponse?: boolean): Promise<AxiosResponse<any> | Record<any, any> | Array<any>>;
/**
* do post request
* @param url
* @param options
* @param data
* @param parseDataFromResponse
* @returns {Promise<AxiosResponse<any> | Record<any, any> | Array<any>>}
*/
doPostRequest(url: string, options: Record<any, any>, data?: Record<any, any>, parseDataFromResponse?: boolean): Promise<AxiosResponse<any> | Record<any, any> | Array<any>>;
/**
* do get request
* @param url
* @param options
* @param parseDataFromResponse
* @param responseType
* @returns {Promise<AxiosResponse<any> | Record<any, any> | Array<any>>}
*/
doGetRequest(url: string, options: Record<any, any>, parseDataFromResponse?: boolean, responseType?: string): Promise<AxiosResponse<any> | Record<any, any> | Array<any>>;
/**
* do put request
* @param url
* @param options
* @param data
* @param parseDataFromResponse
* @returns {Promise<AxiosResponse<any> | Record<any, any> | Array<any>>}
*/
doPutRequest(url: string, options: Record<any, any>, data?: Record<any, any>, parseDataFromResponse?: boolean): Promise<AxiosResponse<any> | Record<any, any> | Array<any>>;
/**
* do delete request
* @param url
* @param options
* @param data
* @param parseDataFromResponse
* @returns {Promise<AxiosResponse<any> | Record<any, any> | Array<any>>}
*/
doDeleteRequest(url: string, options: Record<any, any>, data?: Record<any, any>, parseDataFromResponse?: boolean): Promise<AxiosResponse<any> | Record<any, any> | Array<any>>;
/**
* method for generating headers for form data
* @param options
* @param formData
* @returns {Record<any, any>}
*/
formDataHeaders(options: Record<any, any>, formData: FormData): Record<any, any>;
/**
* method for generating form data, by passing file paths and method inputs
* @param inputs
* @param filePaths
* @returns {FormData}
*/
formDataFromFilePathsAndInputs(inputs: Record<any, any>, filePaths: Array<string>): FormData;
/**
* do post or put request with form data
* never gets called directly
* @param url
* @param method
* @param formData
* @param headers
* @param parseDataFromResponse
* @returns {Promise<AxiosResponse<any> | Record<any, any> | Array<any>>}
*/
private doPostOrPutRequestWithFormData;
/**
* do post request with form data
* @param url
* @param formData
* @param headers
* @param parseDataFromResponse
* @returns {Promise<AxiosResponse<any> | Record<any, any> | Array<any>>}
*/
doPostRequestWithFormData(url: string, formData: FormData, headers: Record<any, any>, parseDataFromResponse?: boolean): Promise<AxiosResponse<any> | Record<any, any> | Array<any>>;
/**
* do put request with form data
* @param url
* @param formData
* @param headers
* @param parseDataFromResponse
* @returns {Promise<Record<any, any>>}
*/
doPutRequestWithFormData(url: string, formData: FormData, headers: Record<any, any>, parseDataFromResponse?: boolean): Promise<AxiosResponse<any> | Record<any, any> | Array<any>>;
/**
* generate auth token from client creds
* @returns {Promise<Record<any, any>>}
*/
getAuthTokenFromClientCreds(): Promise<Record<any, any>>;
/**
* generate auth token, then set in authconfig.json
* @returns {Promise<Record<any, any>>}
*/
setAndGetAuthToken(): Promise<Record<any, any>>;
/**
* returns headers with access token
* @returns {Promise<Record<any, any>>}
*/
accessTokenHeader(): Promise<Record<any, any>>;
/**
* generate headers with access token and other headers
* @param contentType
* @param queryParams
* @param addContentType
* @returns {Promise<Record<any, any>>}
*/
getAuthAndOptions(contentType?: string, queryParams?: Record<any, any>, addContentType?: boolean): Promise<Record<any, any>>;
}
//# sourceMappingURL=request_handler.d.ts.map