/** * The entry point for all API calls to wikis is the * mwn#request() method in bot.ts. This function uses * the Request and Response classes defined in this file. */ import { AxiosRequestConfig, AxiosResponse } from 'axios'; import * as OAuth from 'oauth-1.0a'; import type { ApiParams, Mwn } from './bot'; import { ApiResponse } from './api_response_types'; export interface RawRequestParams extends AxiosRequestConfig { retryNumber?: number; } export declare class Request { apiParams: ApiParams; requestParams: RawRequestParams; bot: Mwn; constructor(bot: Mwn, apiParams: ApiParams, requestParams: RawRequestParams); process(): Promise; getMethod(): string; MULTIPART_THRESHOLD: number; hasLongFields: boolean; preprocessParams(): void; fillRequestOptions(): Promise; applyAuthentication(): void; /** * Get OAuth Authorization header */ makeOAuthHeader(params: OAuth.RequestOptions): OAuth.Header; handleGet(): void; handlePost(): Promise; useMultipartFormData(): boolean; handlePostMultipartFormData(): Promise; } export declare class Response { bot: Mwn; params: ApiParams; requestOptions: RawRequestParams; rawResponse: AxiosResponse; response: ApiResponse; constructor(bot: Mwn, params: ApiParams, requestOptions: RawRequestParams); process(rawResponse: AxiosResponse): Promise; initialCheck(): Promise; showWarnings(): void; handleErrors(): Promise; retry(): Promise; dieWithError(error: any): Promise; /** * This handles errors at the network level * @param {Object} error */ handleRequestFailure(error: any): Promise; logError(err: any): void; }