Expand description
§goohttp
This library provides macros for easy router definition and, if enabled, an embedded compatible synchronous HttpServer, that uses the axum router for route management. This crate is NOT no_std compatible.
§Features
By default this library only provides two macros for more convenient router creation.
esp
-> This feature enables the embedded compatible HttpServer.
§Additional info for use in embedded development
§stack overflow in pthread
Because this HttpServer uses async functions and the spawn function from tokio, you may get this error:
***ERROR*** A stack overflow in task pthread has been detected.
Fortunately, all you have to do is adjust the following value in your sdkconfig.defaults
which should have been generated when you used
this ESP32 template:
# 10000 has worked for my project so far but you can probably set it far lower
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=10000
§Reducing binary size
When using this library and other libraries, you may encounter another problem: you run out of memory. To fix this, you need to change some compiler settings. For that, I would suggest to have a look at this and this guide.
Re-exports§
pub use axum;
Modules§
- http_
server esp
- This module provides an
HttpServer
that is compatible with embedded systems like the ESP32, but also supports many of the popular HttpServer features.
Macros§
- router
- An easier way to create an
axum router
.