UNPKG

twitter-api-v2

Version:

Strongly typed, full-featured, light, versatile yet powerful Twitter API v1.1 and v2 client for Node.js.

46 lines (45 loc) 2.44 kB
/// <reference types="node" /> import TweetStream from '../stream/TweetStream'; import { ApiRequestError, ApiResponseError } from '../types'; import type { ErrorV1, ErrorV2, TwitterRateLimit, TwitterResponse } from '../types'; import type { TRequestFullData, TRequestFullStreamData } from './request-maker.mixin'; import type { IncomingMessage, ClientRequest } from 'http'; declare type TRequestReadyPayload = { req: ClientRequest; res: IncomingMessage; requestData: TRequestFullData | TRequestFullStreamData; }; declare type TReadyRequestResolver = (value: TRequestReadyPayload) => void; declare type TResponseResolver<T> = (value: TwitterResponse<T>) => void; declare type TRequestRejecter = (error: ApiRequestError) => void; declare type TResponseRejecter = (error: ApiResponseError) => void; interface IBuildErrorParams { res: IncomingMessage; data: any; rateLimit?: TwitterRateLimit; code: number; } export declare class RequestHandlerHelper<T> { protected requestData: TRequestFullData | TRequestFullStreamData; protected req: ClientRequest; protected responseData: string; constructor(requestData: TRequestFullData | TRequestFullStreamData); get hrefPathname(): string; protected isFormEncodedEndpoint(): boolean; protected getRateLimitFromResponse(res: IncomingMessage): TwitterRateLimit | undefined; protected createRequestError(error: Error): ApiRequestError; protected formatV1Errors(errors: ErrorV1[]): string; protected formatV2Error(error: ErrorV2): string; protected createResponseError({ res, data, rateLimit, code }: IBuildErrorParams): ApiResponseError; protected getParsedResponse(res: IncomingMessage): any; protected requestErrorHandler(reject: TRequestRejecter, requestError: Error): void; protected classicResponseHandler(resolve: TResponseResolver<T>, reject: TResponseRejecter, res: IncomingMessage): void; protected onResponseEndHandler(resolve: TResponseResolver<T>, reject: TResponseRejecter, res: IncomingMessage): void; protected streamResponseHandler(resolve: TReadyRequestResolver, reject: TResponseRejecter, res: IncomingMessage): void; protected debugRequest(): void; protected buildRequest(): void; makeRequest(): Promise<TwitterResponse<T>>; makeRequestAsStream(): Promise<TweetStream<T>>; makeRequestAndResolveWhenReady(): Promise<TRequestReadyPayload>; } export default RequestHandlerHelper;