MCPcopy Create free account
hub / github.com/TactilityProject/Tactility / getHeaderOrSendError

Function getHeaderOrSendError

Tactility/Source/network/HttpdReq.cpp:17–38  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15static const auto LOGGER = Logger("HttpdReq");
16
17bool getHeaderOrSendError(httpd_req_t* request, const std::string& name, std::string& value) {
18 size_t header_size = httpd_req_get_hdr_value_len(request, name.c_str());
19 if (header_size == 0) {
20 httpd_resp_send_err(request, HTTPD_400_BAD_REQUEST, "header missing");
21 return false;
22 }
23
24 auto header_buffer = std::make_unique<char[]>(header_size + 1);
25 if (header_buffer == nullptr) {
26 LOGGER.error( LOG_MESSAGE_ALLOC_FAILED);
27 httpd_resp_send_500(request);
28 return false;
29 }
30
31 if (httpd_req_get_hdr_value_str(request, name.c_str(), header_buffer.get(), header_size + 1) != ESP_OK) {
32 httpd_resp_send_500(request);
33 return false;
34 }
35
36 value = header_buffer.get();
37 return true;
38}
39
40bool getMultiPartBoundaryOrSendError(httpd_req_t* request, std::string& boundary) {
41 std::string content_type_header;

Callers 1

Calls 2

errorMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected