При выполнении запросов через curl, с установленным параметром CURLOPT_RETURNTRANSFER = true, то результат запроса возвращает curl_exec.
Кроме этого, CURLOPT_RETURNTRANSFER может быть отключен, тогда вывод результата по умолчанию сразу идет в стандартный поток вывода в браузер.
И также, моет быть установлен иной поток вывода, через CURLOPT_FILE.
Есть ли какой-то универсальный способ, чтобы в независимости от типа возвращения ответа, получать результат запроса ?
Это нужно для уровня middleware, чтобы можно было модифицировать результат запроса, в независимости от тогу, в какой потом и как отдается результат.
Например:
$my_client->pushMiddleware(function ($request) {
$response = self::exec($request);
// $response должен всегда содержать ответ на запрос
});