/**
* Custom error classes for SearXNG operations
*/
export class SearXNGError extends Error {
constructor(message: string, options?: ErrorOptions) {
super(message, options);
this.name = "SearXNGError";
}
}
export class SearXNGApiError extends SearXNGError {
constructor(
public readonly status: number,
public readonly body: string
) {
super(`SearXNG API error (${status}): ${body}`);
this.name = "SearXNGApiError";
}
}
export class SearXNGNetworkError extends SearXNGError {
constructor(message: string, cause?: Error) {
super(message, { cause });
this.name = "SearXNGNetworkError";
}
}
export class SearXNGResponseError extends SearXNGError {
constructor(message: string, cause?: Error) {
super(message, { cause });
this.name = "SearXNGResponseError";
}
}