diff --git a/esphome/components/http_request/http_request.cpp b/esphome/components/http_request/http_request.cpp index be8bef006e..3cde14365a 100644 --- a/esphome/components/http_request/http_request.cpp +++ b/esphome/components/http_request/http_request.cpp @@ -20,5 +20,26 @@ void HttpRequestComponent::dump_config() { } } +std::string HttpContainer::get_response_header(const std::string &header_name) { + ESP_LOGD(TAG, "Entered get_response_header"); + auto response_headers = this->get_response_headers(); + auto header_name_lower_case = str_lower_case(header_name); + if (response_headers.count(header_name_lower_case) == 0) { + ESP_LOGD(TAG, "No header with name %s found", header_name_lower_case.c_str()); + return ""; + } else { + auto values = response_headers[header_name_lower_case]; + if (values.empty()) { + ESP_LOGD(TAG, "header with name %s returned an empty list, this shouldn't happen", + header_name_lower_case.c_str()); + return ""; + } else { + ESP_LOGD(TAG, "Header with name %s found", header_name_lower_case.c_str()); + ESP_LOGD(TAG, "Header with name %s found with value %s", header_name_lower_case.c_str(), values.front().c_str()); + return values.front(); + } + } +} + } // namespace http_request } // namespace esphome diff --git a/esphome/components/http_request/http_request.h b/esphome/components/http_request/http_request.h index 02a0a010ac..5462900910 100644 --- a/esphome/components/http_request/http_request.h +++ b/esphome/components/http_request/http_request.h @@ -103,20 +103,7 @@ class HttpContainer : public Parented { */ const std::map> &get_response_headers() const { return this->response_headers_; } - std::string get_response_header(const std::string &header_name) { - auto response_headers = this->get_response_headers(); - auto header_name_lower_case = str_lower_case(header_name); - if (response_headers.count(header_name_lower_case) == 0) { - return ""; - } else { - auto values = response_headers[header_name_lower_case]; - if (values.empty()) { - return ""; - } else { - return values.front(); - } - } - } + std::string get_response_header(const std::string &header_name); protected: size_t bytes_read_{0};