@aptos-labs/ts-sdk
Version:
Aptos TypeScript SDK
59 lines (49 loc) • 1.43 kB
text/typescript
// Copyright © Aptos Foundation
// SPDX-License-Identifier: Apache-2.0
import { AptosRequest } from "../types";
/**
* The API response type
*
* @param status - the response status. i.e. 200
* @param statusText - the response message
* @param data the response data
* @param url the url the request was made to
* @param headers the response headers
* @param config (optional) - the request object
* @param request (optional) - the request object
*/
export interface AptosResponse<Req, Res> {
status: number;
statusText: string;
data: Res;
url: string;
headers: any;
config?: any;
request?: Req;
}
/**
* The type returned from an API error
*
* @param name - the error name "AptosApiError"
* @param url the url the request was made to
* @param status - the response status. i.e. 400
* @param statusText - the response message
* @param data the response data
* @param request - the AptosRequest
*/
export class AptosApiError extends Error {
readonly url: string;
readonly status: number;
readonly statusText: string;
readonly data: any;
readonly request: AptosRequest;
constructor(request: AptosRequest, response: AptosResponse<any, any>, message: string) {
super(message);
this.name = "AptosApiError";
this.url = response.url;
this.status = response.status;
this.statusText = response.statusText;
this.data = response.data;
this.request = request;
}
}