35 lines
870 B
PHP
35 lines
870 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Concerns;
|
|
|
|
use Illuminate\Http\Client\Response;
|
|
|
|
trait ProxiesBackend
|
|
{
|
|
protected function mapClientError(Response $res)
|
|
{
|
|
$msg = data_get($res->json(), 'message') ?? 'Invalid request';
|
|
return response()->json([
|
|
'error' => 'client_error',
|
|
'message' => $msg,
|
|
], $res->status());
|
|
}
|
|
|
|
protected function mapServiceUnavailable(Response $res)
|
|
{
|
|
$msg = data_get($res->json(), 'message') ?? 'Internal server error';
|
|
return response()->json([
|
|
'error' => 'service_unavailable',
|
|
'message' => $msg,
|
|
], 503);
|
|
}
|
|
|
|
protected function mapBadGateway(string $msg = 'API server not reachable')
|
|
{
|
|
return response()->json([
|
|
'error' => 'bad_gateway',
|
|
'message' => $msg,
|
|
], 502);
|
|
}
|
|
}
|