136 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| exports.InvalidWebhookSignatureError = exports.ContentFilterFinishReasonError = exports.LengthFinishReasonError = exports.InternalServerError = exports.RateLimitError = exports.UnprocessableEntityError = exports.ConflictError = exports.NotFoundError = exports.PermissionDeniedError = exports.AuthenticationError = exports.BadRequestError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIUserAbortError = exports.APIError = exports.OpenAIError = void 0;
 | |
| const errors_1 = require("../internal/errors.js");
 | |
| class OpenAIError extends Error {
 | |
| }
 | |
| exports.OpenAIError = OpenAIError;
 | |
| class APIError extends OpenAIError {
 | |
|     constructor(status, error, message, headers) {
 | |
|         super(`${APIError.makeMessage(status, error, message)}`);
 | |
|         this.status = status;
 | |
|         this.headers = headers;
 | |
|         this.requestID = headers?.get('x-request-id');
 | |
|         this.error = error;
 | |
|         const data = error;
 | |
|         this.code = data?.['code'];
 | |
|         this.param = data?.['param'];
 | |
|         this.type = data?.['type'];
 | |
|     }
 | |
|     static makeMessage(status, error, message) {
 | |
|         const msg = error?.message ?
 | |
|             typeof error.message === 'string' ?
 | |
|                 error.message
 | |
|                 : JSON.stringify(error.message)
 | |
|             : error ? JSON.stringify(error)
 | |
|                 : message;
 | |
|         if (status && msg) {
 | |
|             return `${status} ${msg}`;
 | |
|         }
 | |
|         if (status) {
 | |
|             return `${status} status code (no body)`;
 | |
|         }
 | |
|         if (msg) {
 | |
|             return msg;
 | |
|         }
 | |
|         return '(no status code or body)';
 | |
|     }
 | |
|     static generate(status, errorResponse, message, headers) {
 | |
|         if (!status || !headers) {
 | |
|             return new APIConnectionError({ message, cause: (0, errors_1.castToError)(errorResponse) });
 | |
|         }
 | |
|         const error = errorResponse?.['error'];
 | |
|         if (status === 400) {
 | |
|             return new BadRequestError(status, error, message, headers);
 | |
|         }
 | |
|         if (status === 401) {
 | |
|             return new AuthenticationError(status, error, message, headers);
 | |
|         }
 | |
|         if (status === 403) {
 | |
|             return new PermissionDeniedError(status, error, message, headers);
 | |
|         }
 | |
|         if (status === 404) {
 | |
|             return new NotFoundError(status, error, message, headers);
 | |
|         }
 | |
|         if (status === 409) {
 | |
|             return new ConflictError(status, error, message, headers);
 | |
|         }
 | |
|         if (status === 422) {
 | |
|             return new UnprocessableEntityError(status, error, message, headers);
 | |
|         }
 | |
|         if (status === 429) {
 | |
|             return new RateLimitError(status, error, message, headers);
 | |
|         }
 | |
|         if (status >= 500) {
 | |
|             return new InternalServerError(status, error, message, headers);
 | |
|         }
 | |
|         return new APIError(status, error, message, headers);
 | |
|     }
 | |
| }
 | |
| exports.APIError = APIError;
 | |
| class APIUserAbortError extends APIError {
 | |
|     constructor({ message } = {}) {
 | |
|         super(undefined, undefined, message || 'Request was aborted.', undefined);
 | |
|     }
 | |
| }
 | |
| exports.APIUserAbortError = APIUserAbortError;
 | |
| class APIConnectionError extends APIError {
 | |
|     constructor({ message, cause }) {
 | |
|         super(undefined, undefined, message || 'Connection error.', undefined);
 | |
|         // in some environments the 'cause' property is already declared
 | |
|         // @ts-ignore
 | |
|         if (cause)
 | |
|             this.cause = cause;
 | |
|     }
 | |
| }
 | |
| exports.APIConnectionError = APIConnectionError;
 | |
| class APIConnectionTimeoutError extends APIConnectionError {
 | |
|     constructor({ message } = {}) {
 | |
|         super({ message: message ?? 'Request timed out.' });
 | |
|     }
 | |
| }
 | |
| exports.APIConnectionTimeoutError = APIConnectionTimeoutError;
 | |
| class BadRequestError extends APIError {
 | |
| }
 | |
| exports.BadRequestError = BadRequestError;
 | |
| class AuthenticationError extends APIError {
 | |
| }
 | |
| exports.AuthenticationError = AuthenticationError;
 | |
| class PermissionDeniedError extends APIError {
 | |
| }
 | |
| exports.PermissionDeniedError = PermissionDeniedError;
 | |
| class NotFoundError extends APIError {
 | |
| }
 | |
| exports.NotFoundError = NotFoundError;
 | |
| class ConflictError extends APIError {
 | |
| }
 | |
| exports.ConflictError = ConflictError;
 | |
| class UnprocessableEntityError extends APIError {
 | |
| }
 | |
| exports.UnprocessableEntityError = UnprocessableEntityError;
 | |
| class RateLimitError extends APIError {
 | |
| }
 | |
| exports.RateLimitError = RateLimitError;
 | |
| class InternalServerError extends APIError {
 | |
| }
 | |
| exports.InternalServerError = InternalServerError;
 | |
| class LengthFinishReasonError extends OpenAIError {
 | |
|     constructor() {
 | |
|         super(`Could not parse response content as the length limit was reached`);
 | |
|     }
 | |
| }
 | |
| exports.LengthFinishReasonError = LengthFinishReasonError;
 | |
| class ContentFilterFinishReasonError extends OpenAIError {
 | |
|     constructor() {
 | |
|         super(`Could not parse response content as the request was rejected by the content filter`);
 | |
|     }
 | |
| }
 | |
| exports.ContentFilterFinishReasonError = ContentFilterFinishReasonError;
 | |
| class InvalidWebhookSignatureError extends Error {
 | |
|     constructor(message) {
 | |
|         super(message);
 | |
|     }
 | |
| }
 | |
| exports.InvalidWebhookSignatureError = InvalidWebhookSignatureError;
 | |
| //# sourceMappingURL=error.js.map
 |