UNPKG

musicbrainz-api

Version:

MusicBrainz API client for reading and submitting metadata

35 lines (34 loc) 1.12 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; timeout: number; userAgent: string; followRedirects?: boolean; } export interface IFetchOptions { query?: MultiQueryFormData; retryLimit?: number; body?: string; headers?: HeadersInit; followRedirects?: boolean; } export declare class HttpClient { protected options: IHttpClientOptions; constructor(options: 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; protected registerCookies(response: Response): Promise<Cookie | undefined>; getCookies(): Promise<string | null>; }