3#if defined(USE_ESP_IDF) && defined(USE_WEBSERVER_OTA)
7#include <esp_http_server.h>
9#include <multipart_parser.h>
14namespace web_server_idf {
41 size_t parse(
const char *data,
size_t len);
50 static int on_header_field(multipart_parser *parser,
const char *at,
size_t length);
51 static int on_header_value(multipart_parser *parser,
const char *at,
size_t length);
52 static int on_part_data(multipart_parser *parser,
const char *at,
size_t length);
53 static int on_part_data_end(multipart_parser *parser);
55 multipart_parser *parser_{
nullptr};
56 multipart_parser_settings settings_{};
59 std::string current_header_field_;
64 void process_header_(
const char *value,
size_t length);
82std::string
str_trim(
const std::string &str);
void set_part_complete_callback(PartCompleteCallback callback)
std::function< void()> PartCompleteCallback
std::function< void(const uint8_t *data, size_t len)> DataCallback
void set_data_callback(DataCallback callback)
const Part & get_current_part() const
MultipartReader(const std::string &boundary)
size_t parse(const char *data, size_t len)
bool str_startswith_case_insensitive(const std::string &str, const std::string &prefix)
bool parse_multipart_boundary(const char *content_type, const char **boundary_start, size_t *boundary_len)
std::string extract_header_param(const std::string &header, const std::string ¶m)
std::string str_trim(const std::string &str)
Providing packet encoding functions for exchanging data with a remote host.