mirror of
https://github.com/esphome/esphome.git
synced 2024-11-23 07:28:10 +01:00
http_request: Cleanups and safety improvements (#5360)
This commit is contained in:
parent
41c829fa32
commit
7ebe6a5894
1 changed files with 9 additions and 18 deletions
|
@ -80,8 +80,6 @@ template<typename... Ts> class HttpRequestSendAction : public Action<Ts...> {
|
||||||
TEMPLATABLE_VALUE(std::string, url)
|
TEMPLATABLE_VALUE(std::string, url)
|
||||||
TEMPLATABLE_VALUE(const char *, method)
|
TEMPLATABLE_VALUE(const char *, method)
|
||||||
TEMPLATABLE_VALUE(std::string, body)
|
TEMPLATABLE_VALUE(std::string, body)
|
||||||
TEMPLATABLE_VALUE(const char *, useragent)
|
|
||||||
TEMPLATABLE_VALUE(uint16_t, timeout)
|
|
||||||
|
|
||||||
void add_header(const char *key, TemplatableValue<const char *, Ts...> value) { this->headers_.insert({key, value}); }
|
void add_header(const char *key, TemplatableValue<const char *, Ts...> value) { this->headers_.insert({key, value}); }
|
||||||
|
|
||||||
|
@ -105,13 +103,6 @@ template<typename... Ts> class HttpRequestSendAction : public Action<Ts...> {
|
||||||
auto f = std::bind(&HttpRequestSendAction<Ts...>::encode_json_func_, this, x..., std::placeholders::_1);
|
auto f = std::bind(&HttpRequestSendAction<Ts...>::encode_json_func_, this, x..., std::placeholders::_1);
|
||||||
this->parent_->set_body(json::build_json(f));
|
this->parent_->set_body(json::build_json(f));
|
||||||
}
|
}
|
||||||
if (this->useragent_.has_value()) {
|
|
||||||
this->parent_->set_useragent(this->useragent_.value(x...));
|
|
||||||
}
|
|
||||||
if (this->timeout_.has_value()) {
|
|
||||||
this->parent_->set_timeout(this->timeout_.value(x...));
|
|
||||||
}
|
|
||||||
if (!this->headers_.empty()) {
|
|
||||||
std::list<Header> headers;
|
std::list<Header> headers;
|
||||||
for (const auto &item : this->headers_) {
|
for (const auto &item : this->headers_) {
|
||||||
auto val = item.second;
|
auto val = item.second;
|
||||||
|
@ -121,9 +112,9 @@ template<typename... Ts> class HttpRequestSendAction : public Action<Ts...> {
|
||||||
headers.push_back(header);
|
headers.push_back(header);
|
||||||
}
|
}
|
||||||
this->parent_->set_headers(headers);
|
this->parent_->set_headers(headers);
|
||||||
}
|
|
||||||
this->parent_->send(this->response_triggers_);
|
this->parent_->send(this->response_triggers_);
|
||||||
this->parent_->close();
|
this->parent_->close();
|
||||||
|
this->parent_->set_body("");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
Loading…
Reference in a new issue