diff --git a/src/request.ts b/src/request.ts index 986b14d..b56aec1 100644 --- a/src/request.ts +++ b/src/request.ts @@ -12,19 +12,17 @@ import * as Utils from "./utils"; import { computeURI } from "./agents"; import { HttpieResponseHandler, ModeOfHttpieResponseHandler } from "./class/undiciResponseHandler"; import { HttpieOnHttpError } from "./class/HttpieOnHttpError"; -import { HttpieError } from "./class/HttpieCommonError"; import { HttpieDecompressionError, HttpieFetchBodyError, HttpieParserError } from "./class/HttpieHandlerError"; export type WebDavMethod = "MKCOL" | "COPY" | "MOVE" | "LOCK" | "UNLOCK" | "PROPFIND" | "PROPPATCH"; export type HttpMethod = "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "CONNECT" | "OPTIONS" | "TRACE" | "PATCH" ; export type InlineCallbackAction = (fn: () => Promise) => Promise; -export type RequestError = - Partial>> & - Partial & - Partial & - Partial & - HttpieError; +export type RequestError = + HttpieOnHttpError> | + HttpieDecompressionError | + HttpieFetchBodyError | + HttpieParserError; export interface RequestOptions { /** @default 0 */ diff --git a/test/request.spec.ts b/test/request.spec.ts index 2d06a84..2a6f7c3 100644 --- a/test/request.spec.ts +++ b/test/request.spec.ts @@ -3,6 +3,7 @@ import { FastifyInstance } from "fastify"; // Import Internal Dependencies import { get, post, put, patch, del, safeGet } from "../src/index"; +import { isHTTPError } from "../src/utils"; // Helpers and mock import { createServer } from "./server/index"; @@ -177,16 +178,20 @@ describe("http.safeGet", () => { }); it("should throw a 404 Not Found error because the path is not known", async() => { + expect.assertions(5); + const result = await safeGet("/windev/hlkezcjcke"); expect(result.err).toStrictEqual(true); if (result.err) { const error = result.val; - expect(error.name).toStrictEqual("HttpieOnHttpError"); - expect(error.statusCode).toStrictEqual(404); - expect(error.statusMessage).toStrictEqual("Not Found"); - expect(error.data).toMatchSnapshot(); + if (isHTTPError(error)) { + expect(error.name).toStrictEqual("HttpieOnHttpError"); + expect(error.statusCode).toStrictEqual(404); + expect(error.statusMessage).toStrictEqual("Not Found"); + expect(error.data).toMatchSnapshot(); + } } }); });