Skip to content

Toy HTTP server on top of LwIP netconn API, packaged as an ESP-IDF component

License

Notifications You must be signed in to change notification settings

tmedicci/esp32-http-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple HTTP/HTTPS server

This is a very minimal HTTP server. Optionally supports HTTPS server based on mbedTLS server example.

How to use

This directory is an ESP-IDF component. Clone it (or add it as a submodule) into the component directory of the project. Enable TLS/SSL HTTPS server by uncommenting the #define HTTPS_SERVER line at https_server.h, otherwise it will implement unsecured http server. Server certificate and private key are loaded at https_server.c directly into flash code as in the open_ssl_server example from ESP-IDF repository. Don't forget to insert cacert.pem and prvtkey.pem at your main application directory if you want to run GET/POST examples.

Documentation

None yet, but I tried to make the comments in the header file helpful.

Examples

Examples functions at http server:

GET Method Example

simple_GET_method_example() function:

  • Add http_server.c and http_server.h as a component into your project.
  • Server initialization added into the example function, simply call it and it should work!
  • Receiving a GET request at /, http server response is a "Hello World, from ESP32!" html.

POST Method Example

simple_POST_method_example() function:

  • As well as GET example, simply add http_server as a componente into your ESP-IDF project.
  • Server initialization added into the POST example function, simply call it and don't worry.
  • Post to / a pair of key-value where the key is 'key' and value some value you want to test. The example will show value content. If needed, increade log verbosity at make menuconfig to show all parsed key-value pairs.

Debugging

Increasing log level to "Verbose" should produce lots of output related to request handling.

License

GPL, see LICENSE file. Mostly because this is a very early version. Will be relicensed as something more reasonable later. mbedTLS are Apache 2.0 licensed.

About

Toy HTTP server on top of LwIP netconn API, packaged as an ESP-IDF component

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.9%
  • Makefile 0.1%