@coinbase/cdp-sdk
Version:
SDK for interacting with the Coinbase Developer Platform Wallet API
41 lines (38 loc) • 1.3 kB
text/typescript
// This file was auto-generated by Fern from our API Definition.
import type * as core from "../core/index.js";
import * as errors from "./index.js";
export function handleNonStatusCodeError(
error: core.Fetcher.Error,
rawResponse: core.RawResponse,
method: string,
path: string,
): never {
switch (error.reason) {
case "non-json":
throw new errors.CoinbaseApiError({
statusCode: error.statusCode,
body: error.rawBody,
rawResponse: rawResponse,
});
case "body-is-null":
throw new errors.CoinbaseApiError({
statusCode: error.statusCode,
rawResponse: rawResponse,
});
case "timeout":
throw new errors.CoinbaseApiTimeoutError(`Timeout exceeded when calling ${method} ${path}.`, {
cause: error.cause,
});
case "unknown":
throw new errors.CoinbaseApiError({
message: error.errorMessage,
rawResponse: rawResponse,
cause: error.cause,
});
default:
throw new errors.CoinbaseApiError({
message: "Unknown error",
rawResponse: rawResponse,
});
}
}