UNPKG

ebay-api

Version:

eBay API for Node and Browser

68 lines (67 loc) 2.48 kB
import Auth from '../../auth/index.js'; import { IEBayApiRequest } from '../../request.js'; import { ApiRequestConfig, AppConfig } from '../../types/index.js'; import Api from '../index.js'; export declare const defaultApiHeaders: Record<string, string>; export type RestfulApiConfig = { subdomain?: string; useIaf?: boolean; sign?: boolean; apiVersion?: string; basePath?: string; schema?: string; sandbox?: boolean; tld?: string; } & ApiRequestConfig; export type ApiRequest = { method: keyof IEBayApiRequest; path: string; config?: any; data?: any; }; export interface IRestful { new (config: AppConfig, req?: IEBayApiRequest, auth?: Auth, apiConfig?: RestfulApiConfig): Restful; id: string; } export default abstract class Restful extends Api { readonly apiConfig: Required<RestfulApiConfig>; constructor(config: AppConfig, req?: IEBayApiRequest, auth?: Auth, apiConfig?: RestfulApiConfig); static buildServerUrl(schema: string, subdomain: string, sandbox: boolean, tld: string): string; abstract get basePath(): string; /** * Enable to supports the use of OAuth tokens for user authorization. */ get useIaf(): boolean; get schema(): string; get subdomain(): string; get apiVersionPath(): string; getServerUrl({ schema, subdomain, apiVersion, basePath, sandbox, tld }: Required<RestfulApiConfig>): string; getApiConfig(): Required<RestfulApiConfig>; get baseUrl(): string; /** * Create a new instances of it self with specified api config. * @param apiConfig */ api(apiConfig: RestfulApiConfig): this; /** * Use "apix" subdomain */ get apix(): this; /** * Use "apiz" subdomain */ get apiz(): this; /** * Sign request */ get sign(): this; get(path: string, config?: any, apiConfig?: RestfulApiConfig): Promise<any>; delete(path: string, config?: any, apiConfig?: RestfulApiConfig): Promise<any>; post(path: string, data?: any, config?: any, apiConfig?: RestfulApiConfig): Promise<any>; put(path: string, data?: any, config?: any, apiConfig?: RestfulApiConfig): Promise<any>; get additionalHeaders(): any; enrichRequestConfig(apiRequest: ApiRequest, payload?: any, apiConfig?: Required<RestfulApiConfig>): Promise<any>; private doRequest; private shouldRefreshToken; private request; }