File size: 992 Bytes
a5d718a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// src/http-exception.ts
var HTTPException = class extends Error {
  res;
  status;
  /**

   * Creates an instance of `HTTPException`.

   * @param status - HTTP status code for the exception. Defaults to 500.

   * @param options - Additional options for the exception.

   */
  constructor(status = 500, options) {
    super(options?.message, { cause: options?.cause });
    this.res = options?.res;
    this.status = status;
  }
  /**

   * Returns the response object associated with the exception.

   * If a response object is not provided, a new response is created with the error message and status code.

   * @returns The response object.

   */
  getResponse() {
    if (this.res) {
      const newResponse = new Response(this.res.body, {
        status: this.status,
        headers: this.res.headers
      });
      return newResponse;
    }
    return new Response(this.message, {
      status: this.status
    });
  }
};
export {
  HTTPException
};