http.d.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { APIResponse, APIResponsePageTokenMeta, APIResponseSuccess, ContentType, HttpMethod, IClient, IConfig, IPaginator, PagePaginatorState, PaginateArgs, PaginatorDeps, PaginatorGuard, PaginatorRequestGenerator, ResourceClientRequestModifiers, Response, SuperAgentError, TokenPaginatorState } from '../definitions';
  2. import { FatalException } from './errors';
  3. export declare type SuperAgentRequest = import('superagent').SuperAgentRequest;
  4. export declare type SuperAgentResponse = import('superagent').Response;
  5. export declare const ERROR_UNKNOWN_CONTENT_TYPE = "UNKNOWN_CONTENT_TYPE";
  6. export declare const ERROR_UNKNOWN_RESPONSE_FORMAT = "UNKNOWN_RESPONSE_FORMAT";
  7. export declare class Client implements IClient {
  8. config: IConfig;
  9. constructor(config: IConfig);
  10. make(method: HttpMethod, path: string, contentType?: ContentType): Promise<{
  11. req: SuperAgentRequest;
  12. }>;
  13. do(req: SuperAgentRequest): Promise<APIResponseSuccess>;
  14. paginate<T extends Response<object[]>>(args: PaginateArgs<T>): IPaginator<T>;
  15. }
  16. export declare class Paginator<T extends Response<object[]>> implements IPaginator<T, PagePaginatorState> {
  17. protected client: IClient;
  18. protected reqgen: PaginatorRequestGenerator;
  19. protected guard: PaginatorGuard<T>;
  20. protected max?: number;
  21. readonly state: PagePaginatorState;
  22. constructor({ client, reqgen, guard, state, max }: PaginatorDeps<T, PagePaginatorState>);
  23. next(): IteratorResult<Promise<T>>;
  24. [Symbol.iterator](): this;
  25. }
  26. export declare class TokenPaginator<T extends Response<object[]>> implements IPaginator<T, TokenPaginatorState> {
  27. protected client: IClient;
  28. protected reqgen: PaginatorRequestGenerator;
  29. protected guard: PaginatorGuard<T>;
  30. protected max?: number;
  31. readonly state: TokenPaginatorState;
  32. constructor({ client, reqgen, guard, state, max }: PaginatorDeps<T, TokenPaginatorState>);
  33. next(): IteratorResult<Promise<T>>;
  34. isPageTokenResponseMeta(meta: any): meta is APIResponsePageTokenMeta;
  35. [Symbol.iterator](): this;
  36. }
  37. export declare abstract class ResourceClient {
  38. protected applyModifiers(req: import('superagent').Request, modifiers?: ResourceClientRequestModifiers): void;
  39. protected applyAuthentication(req: import('superagent').Request, token: string): void;
  40. }
  41. export declare function transformAPIResponse(r: SuperAgentResponse): APIResponse;
  42. export declare function createFatalAPIFormat(req: SuperAgentRequest, res: APIResponse): FatalException;
  43. export declare function formatSuperAgentError(e: SuperAgentError): string;
  44. export declare function formatResponseError(req: SuperAgentRequest, status?: number, body?: object | string): string;