UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

39 lines (36 loc) 1.32 kB
import Agent from 'agentkeepalive'; import { Response } from 'express'; import { ApiConfig, GetRequest } from './types.d.js'; import Dict = NodeJS.Dict; interface ResultWithHeaders<T> { data: T; headers: Dict<string>; } interface Request { path: string; query?: object | string; headers?: Record<string, string>; responseType?: string; raw?: boolean; } interface RequestWithBody extends Request { data?: Record<string, unknown> | string; retry?: boolean; } declare class RestClient { private readonly name; private readonly config; agent: Agent; constructor(name: string, config: ApiConfig); private apiUrl; private timeoutConfig; get<T>(request: GetRequest): Promise<T>; getStream({ path, query, headers, token }: GetRequest, res: Response): Promise<void>; private requestWithBody; post<Response = unknown>(request: RequestWithBody, token: string): Promise<Response>; getWithHeaders<T>({ path, query, headers, responseType, raw, token, }: GetRequest): Promise<ResultWithHeaders<T>>; deleteWithHeaders<T>({ path, query, headers, responseType, raw, token, }: GetRequest): Promise<ResultWithHeaders<T>>; delete<T>(request: GetRequest): Promise<T>; } export { RestClient, RestClient as default }; export type { ResultWithHeaders };