-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathErrorHandler.php
More file actions
25 lines (21 loc) · 879 Bytes
/
ErrorHandler.php
File metadata and controls
25 lines (21 loc) · 879 Bytes
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
<?php
class ErrorHandler {
public static function handle(Exception $e, string $context): void {
error_log('Steam RSS Feed Error: ' . $e->getMessage());
http_response_code(500);
if (in_array($context, ['web', 'single'])) {
self::showErrorPage($e->getMessage());
} else {
self::showJsonError($e->getMessage());
}
}
public static function showErrorPage(string $errorMessage): void {
header('Content-Type: text/html; charset=UTF-8');
$renderer = new ViewRenderer([]);
die($renderer->render('error', ['error_message' => $errorMessage]));
}
public static function showJsonError(string $errorMessage): void {
header('Content-Type: application/json');
die(json_encode(['error' => 'Internal server error', 'details' => $errorMessage]));
}
}