goohttp

Crates.iogoohttp
lib.rsgoohttp
version0.4.2
sourcesrc
created_at2023-06-09 21:14:25.607547
updated_at2023-07-04 21:47:52.227141
descriptionAn embedded, axum-compatible HTTP server and macros
homepage
repositoryhttps://github.com/Gooxey/goohttp.git
max_upload_size
id886562
size29,287
Gooxey (Gooxey)

documentation

README

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.

Crates.io Crates.io

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.

Commit count: 14

cargo fmt