UNPKG

custom-api-handler

Version:

The package uses axios library to request APIs and uses local-storage for tokens (auth & refresh).

85 lines 4.54 kB
import { Method } from "axios"; /** * API-Handler class for custom API requesting methods with axios */ declare class APIHandler { private tokenBearerLabel; private refreshTokenLabelName; private accessTokenLabelName; constructor(); /** * Method to set token label * @param tokenBearerLabel | Provide Bearer name to be included for tokens added in header for API request (if any) */ setTokenBearerLabel: (tokenBearerLabel: string) => void; /** * Method to set refresh-token label name * @param refreshTokenLabelName | Provide refresh-token label name that is sent from backend-server. */ setRefreshTokenLabelName: (refreshTokenLabelName: string) => void; /** * Method to get current used refresh-token label name * @returns | Refresh-Token Label Name */ getRefreshTokenLabelName: () => string; /** * Method to set access-token label name * @param accessTokenLabelName | Provide access-token label name that is sent from backend-server. */ setAccessTokenLabelName: (accessTokenLabelName: string) => void; /** * Method to get current used access-token label name * @returns | Access-Token Label Name */ getAccessTokenLabelName: () => string; /** * Method to validate params * @param obj | Provide params in object for validation * @returns | custom msg (if error) or false */ private validateParams; /** * Method for requesting API with options for including auth & refresh tokens in API request header * @param {String} url | Provide API URL to be requested * @param {Method} method | Provide request type * @param {any} data | Provide request-body(if any) * @param {any} params | Provide request-params(if any) * @param {String} baseURL | Provide API Base-URL for the request * @param {Boolean} isAuthTokenRequiredInHeader | Provide true/false for adding auth-token from local-storage in header * @param {Boolean} isRefTokenRequiredInHeader | Provide true/false for adding refresh-token from local-storage in header * @returns | Requested API response promise */ requestApi: (url?: string, method?: Method, data?: any, params?: any, baseURL?: string, isAuthTokenRequiredInHeader?: boolean, isRefTokenRequiredInHeader?: boolean) => Promise<import("axios").AxiosResponse<any>>; /** * Method for requesting API with refresh-token wrapper for requesting new auth & refresh tokens before each API request * @param {String} url | Provide API URL to be requested * @param {String} rftURL | Provide refresh-token API URL * @param {Method} method | Provide request type * @param {any} data | Provide request-body(if any) * @param {any} params | Provide request-params(if any) * @param {String} baseURL | Provide API Base-URL for the request * @param {String} rftBaseURL | Provide refresh-token API Base-URL for the request * @returns | Requested API response promise */ rftWrapper: (url?: string, rftURL?: string, method?: Method, data?: any, params?: any, baseURL?: string, rftBaseURL?: string) => Promise<import("axios").AxiosResponse<any> | undefined>; /** * Method for requesting API with auth & refresh tokens expiry check and requesting new tokens before each API request (if expired) * @param {String} url | Provide API URL to be requested * @param {String} rftURL | Provide refresh-token API URL * @param {Method} method | Provide request type * @param {any} data | Provide request-body(if any) * @param {any} params | Provide request-params(if any) * @param {Boolean} isRFTandATValidationRequired | Provide true/false for including auth-token & refresh-token expiry check * @param {String} baseURL | Provide API Base-URL for the request * @param {String} rftBaseURL | Provide refresh-token API Base-URL for the request * @returns | Requested API response promise */ reqAPIwithRFTWrapper: (url?: string, rftURL?: string, method?: Method, data?: any, params?: any, isRFTandATValidationRequired?: boolean, baseURL?: string, rftBaseURL?: string) => Promise<import("axios").AxiosResponse<any> | undefined>; /** * Method to remove auth-token & refresh-token from local-storage */ private removeLocalStorage; } export declare const apiHandler: APIHandler; export {}; //# sourceMappingURL=index.d.ts.map