#symfony #guzzle
#symfony #guzzle
Вопрос:
Я использую Guzzle в качестве http-клиента в приложении Symfony. С помощью следующего кода я могу регистрировать все запросы и ответы. Есть ли способ регистрировать также время отклика?
Я попробовал on_stats, но его следует добавлять к каждому вызову клиента, и это не вариант.
services:
app.client.default:
class: 'GuzzleHttpClient'
lazy: true
arguments:
- handler: '@app.handler_stack.default'
app.handler_stack.default:
class: 'GuzzleHttpHandlerStack'
factory: [ GuzzleHttpHandlerStack, create ]
calls:
- [ push, [ '@app.middleware.log_default', 'log_default' ] ]
app.middleware.log_default:
class: callback
factory: [ GuzzleHttpMiddleware, log ]
arguments:
- '@logger'
- '@app.log_formatter.default'
app.log_formatter.default:
class: 'GuzzleHttpMessageFormatter'
arguments:
- ">>>>>>>>n{request}n<<<<<<<<n{response}n--------n{error}"
app.service:
class: 'AppService'
arguments:
- '@app.client.default'
use GuzzleHttpClient;
class Service {
private $httpClient;
public function __construct(Client $httpClient) {
$this->httpClient = $httpClient;
}
public function apiRequest() {
$response = $this->httpClient->get('https://www.google.com');
// ...
}
}
Комментарии:
1. Решает ли этот пакет вашу проблему github.com/shrikeh/guzzle-middleware-responsetimer ?
2. Может быть вариант, спасибо