UNPKG

musicbrainz-api

Version:

MusicBrainz API client for reading and submitting metadata

40 lines (39 loc) 1.23 kB
import type { Cookie } from "tough-cookie"; export type HttpFormData = { [key: string]: string; }; /** * Allows multiple entries for the same key */ export type MultiQueryFormData = { [key: string]: string | string[]; }; export interface IHttpClientOptions { baseUrl: string; /** * Retry time-out, default 500 ms */ timeout: number; userAgent: string; followRedirects?: boolean; } export interface IFetchOptions { query?: MultiQueryFormData; retryLimit?: number; body?: string; headers?: HeadersInit; followRedirects?: boolean; } export declare class HttpClient { protected httpOptions: IHttpClientOptions; constructor(httpOptions: IHttpClientOptions); get(path: string, options?: IFetchOptions): Promise<Response>; post(path: string, options?: IFetchOptions): Promise<Response>; postForm(path: string, formData: HttpFormData, options?: IFetchOptions): Promise<Response>; postJson(path: string, json: Object, options?: IFetchOptions): Promise<Response>; private _fetch; private _buildUrl; private _delay; protected registerCookies(_response: Response): Promise<Cookie | undefined>; getCookies(): Promise<string | null>; }