UNPKG

metaapi.cloud-sdk

Version:

SDK for MetaApi, a professional cloud forex API which includes MetaTrader REST API and MetaTrader websocket API. Supports both MetaTrader 5 (MT5) and MetaTrader 4 (MT4). CopyFactory copy trading API included. (https://metaapi.cloud)

135 lines (134 loc) 4.13 kB
/** * Base class for API errors. Contains indication of HTTP status. */ export declare class ApiError extends Error { /** HTTP status code */ status: number; /** API request URL */ url: string; private _code; private _args; /** * ApiError constructor * @param {Function} clazz error name * @param {Object} message error message * @param {number} status HTTP status * @param {string} url API request URL */ constructor(clazz: Function, message: string, status: number, url?: string); /** * Sets error code, used for i18n * @param {string} code error code for i18n */ set code(code: string); /** * Returns error code used for i18n * @return {string} error code */ get code(): string; /** * Set message arguments for i18n * @param {Array<Object>} args arguments for i18n */ set arguments(args: Array<Object>); /** * Returns message arguments for i18n * @return {Array<Object>} message arguments for i18n */ get arguments(): Array<Object>; } /** * Throwing this error results in 404 (Not Found) HTTP response code. */ export declare class NotFoundError extends ApiError { /** * Represents NotFoundError. * @param {string} message error message * @param {string} url API request URL */ constructor(message: string, url?: string); } /** * Throwing this error results in 403 (Forbidden) HTTP response code. */ export declare class ForbiddenError extends ApiError { /** * Constructs forbidden error. * @param {string} message error message * @param {string} url API request URL */ constructor(message: string, url?: string); } /** * Throwing this error results in 401 (Unauthorized) HTTP response code. */ export declare class UnauthorizedError extends ApiError { /** * Constructs unauthorized error. * @param {string} message error message * @param {string} url API request URL */ constructor(message: string, url?: string); } /** * Represents validation error. Throwing this error results in 400 (Bad Request) HTTP response code. */ export declare class ValidationError extends ApiError { /** Validation error details */ details: object; /** * Constructs validation error. * @param {string} message error message * @param {Object} details error data * @param {string} url API request URL */ constructor(message: string, details?: Object, url?: string); } /** * Represents unexpected error. Throwing this error results in 500 (Internal Error) HTTP response code. */ export declare class InternalError extends ApiError { /** * Constructs unexpected error. * @param {string} message error message * @param {string} url API request URL */ constructor(message: string, url?: string); } /** * Represents conflict error. Throwing this error results in 409 (Conflict) HTTP response code. */ export declare class ConflictError extends ApiError { /** * Constructs conflict error. * @param {string} message error message * @param {string} url API request URL */ constructor(message: string, url?: string); } /** * metadata for too many requests error */ export type TooManyRequestsErrorMetadata = { /** throttling period in minutes */ periodInMinutes: number; /** available requests for periodInMinutes */ requestsPerPeriodAllowed: number; /** recommended date to retry request */ recommendedRetryTime: Date; /** error type */ type: string; }; /** * Represents too many requests error. Throwing this error results in 429 (Too Many Requests) HTTP response code. */ export declare class TooManyRequestsError extends ApiError { /** error metadata */ metadata: TooManyRequestsErrorMetadata; /** * Constructs too many requests error. * @param {string} message error message * @param {TooManyRequestsErrorMetadata} metadata error metadata */ constructor(message: string, metadata: TooManyRequestsErrorMetadata, url?: string); }