txtdot/src/errors/main.ts

40 lines
947 B
TypeScript
Raw Normal View History

import getConfig from '../config/main';
2023-09-21 15:32:08 +03:00
export abstract class TxtDotError extends Error {
2023-08-21 17:35:25 +03:00
code: number;
name: string;
2023-08-21 17:35:25 +03:00
description: string;
constructor(code: number, name: string, description: string) {
2023-08-21 17:35:25 +03:00
super(description);
this.code = code;
this.name = name;
2023-08-21 17:35:25 +03:00
this.description = description;
}
}
export class EngineParseError extends TxtDotError {
constructor(message: string) {
super(422, 'EngineParseError', `Parse error: ${message}`);
2023-08-21 17:35:25 +03:00
}
}
export class LocalResourceError extends TxtDotError {
constructor() {
super(403, 'LocalResourceError', 'Proxying local resources is forbidden.');
2023-08-21 17:35:25 +03:00
}
}
2023-08-21 16:03:28 +03:00
2023-09-21 12:18:12 +03:00
export class NotHtmlMimetypeError extends TxtDotError {
constructor() {
super(
421,
'NotHtmlMimetypeError',
'Received non-HTML content, ' +
(getConfig().proxy_res
? 'use proxy instead of parser.'
: 'proxying is disabled by the instance admin.')
2023-09-21 12:18:12 +03:00
);
2023-08-16 13:20:24 +03:00
}
}