Move HAproxy exceptions into their own class, and downgrade HAproxy errors since they are handled
This commit is contained in:
36
app/Classes/Sock/Exception/SocketException.php
Normal file
36
app/Classes/Sock/Exception/SocketException.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Sock\Exception;
|
||||
|
||||
// @todo Can we change this to use socket_strerr() && socket_last_error()
|
||||
final class SocketException extends \Exception {
|
||||
public const CANT_CREATE_SOCKET = 1;
|
||||
public const CANT_BIND_SOCKET = 2;
|
||||
public const CANT_LISTEN = 3;
|
||||
public const CANT_ACCEPT = 4;
|
||||
public const CANT_CONNECT = 5;
|
||||
public const SOCKET_ERROR = 6;
|
||||
public const SOCKET_EAGAIN = 11;
|
||||
public const SOCKET_READ = 22;
|
||||
public const CONNECTION_RESET = 104;
|
||||
|
||||
private array $messages = [
|
||||
self::CANT_CREATE_SOCKET => 'Can\'t create socket: "%s"',
|
||||
self::CANT_BIND_SOCKET => 'Can\'t bind socket: "%s"',
|
||||
self::CANT_LISTEN => 'Can\'t listen: "%s"',
|
||||
self::CANT_ACCEPT => 'Can\'t accept connections: "%s"',
|
||||
self::CANT_CONNECT => 'Can\'t connect: "%s"',
|
||||
self::SOCKET_ERROR => 'Socket Error: "%s"',
|
||||
self::SOCKET_EAGAIN => 'Socket Resource Temporarily Unavailable - Try again',
|
||||
self::SOCKET_READ => 'Unable to read from socket',
|
||||
self::CONNECTION_RESET => 'Connection reset by peer',
|
||||
];
|
||||
|
||||
public function __construct(int $code,string $params=NULL) {
|
||||
$message = $params
|
||||
? call_user_func_array('sprintf',[$this->messages[$code],$params])
|
||||
: $this->messages[$code];
|
||||
|
||||
parent::__construct($message,$code);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user