UNPKG

@oada/client

Version:

A lightweight client tool to interact with an OADA-compliant server

49 lines (48 loc) 1.73 kB
/** * @license * Copyright 2021 Open Ag Data Alliance * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { EventEmitter } from "eventemitter3"; import type { Connection, ConnectionRequest, IConnectionResponse } from "./client.js"; export interface HTTPTimeouts { /** @default 60e3 */ connect?: number; body?: number; headers?: number; keepAlive?: number; } export declare class HttpClient extends EventEmitter implements Connection { #private; /** * Constructor * @param domain Domain. E.g., www.example.com * @param concurrency Number of allowed in-flight requests. Default 10. */ constructor(domain: string, token: string, { concurrency, userAgent, timeouts, }: { concurrency: number; userAgent: string; timeouts: HTTPTimeouts; }); /** Disconnect the connection */ disconnect(): Promise<void>; /** Return true if connected, otherwise false */ isConnected(): boolean; /** Wait for the connection to open */ awaitConnection(): Promise<void>; request(request: ConnectionRequest, { timeout, signal }?: { timeout?: number; signal?: AbortSignal; }): Promise<IConnectionResponse>; }