I am still searching for the perfect http server for my setup. In the meantime I have rewritten my simple uwebserver and gained some little speed. But I am not satisfied with that. I have also tried https://github.com/jczic/MicroWebSrv2 which is pure python, uses threads and is awfully slow in my first tests.
So I thought I’d follow @amirgon 's advice to try to use the esp_http_server.h. Now generator script fails when processing the enums. More specifically it breaks when parsing this:
typedef enum http_method httpd_method_t;
http_method comes from components/nghttp/port/include/http_parser.h and looks quite hard to parse as well:
/* Request Methods */
#define HTTP_METHOD_MAP(XX) \
XX(0, DELETE, DELETE) \
XX(1, GET, GET) \
XX(2, HEAD, HEAD) \
XX(3, POST, POST) \
XX(4, PUT, PUT) \
...
enum http_method
{
#define XX(num, name, string) HTTP_##name = num,
HTTP_METHOD_MAP(XX)
#undef XX
};
Maybe this is a trivial thing but to me this looks like the generator script isn’t prepared to deal with something like that.