Описание http_response
— Filter
Хук http_response позволяет изменять данные HTTP-ответа, получаемого от внешних запросов. Он срабатывает сразу после получения ответа, что позволяет модифицировать его перед дальнейшей обработкой
Примеры использования
Пример изменения содержимого ответа:
add_filter('http_response', function($response, $parsed_args, $request) {
if (is_array($response) && isset($response['body'])) {
$response['body'] = str_replace('old text', 'new text', $response['body']);
}
return $response;
});
В этом примере мы ищем и заменяем текст в теле ответа
Пример добавления заголовков к ответу:
add_filter('http_response', function($response, $parsed_args, $request) {
if (is_array($response)) {
$response['headers']['X-Custom-Header'] = 'MyValue';
}
return $response;
});
Здесь мы добавляем кастомный заголовок к ответу
Пример изменения кода состояния ответа:
add_filter('http_response', function($response, $parsed_args, $request) {
if (is_array($response)) {
$response['response'] = 404;
}
return $response;
});
Мы изменяем код состояния ответа на 404
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить HTTP-ответы, полученные от внешних API или ресурсов
– Производительность
Следите за тем, чтобы изменения не вызывали дополнительных задержек при обработке ответов
– Предупреждения
Будьте осторожны с изменением кода состояния, так как это может повлиять на логику обработки ответов в вашем приложении
Альтернативы
Тип: filter
Этот хук позволяет изменять параметры запроса перед его отправкой
Используйте его, если необходимо изменить параметры запроса, а не ответ
Тип: function
Функция для выполнения GET-запросов, где можно обрабатывать ответ отдельно
Если вам нужен полный контроль над запросами и ответами, рассмотрите использование этой функции