Skip to content

A Lightweight and fully asynchronous HTTP server library based on libev and http-parser for Embedded Linux.

License

Notifications You must be signed in to change notification settings

iot-strategy/libuhttpd

 
 

Repository files navigation

libuhttpd(中文)

license PRs Welcome Issue Welcome Release Version Build Status

A Lightweight and fully asynchronous HTTP server library based on libev and http-parser for Embedded Linux.

Features

  • Lightweight and fully asynchronous
  • Use libev as its event backend
  • Support HTTPS - OpenSSL, mbedtls and CyaSSl(wolfssl)
  • Support plugin
  • Flexible - you can easily extend your application to have HTTP/HTTPS services
  • Code structure is concise and understandable, also suitable for learning

Dependencies

  • libev
  • http-parser - A parser for HTTP messages written in C
  • mbedtls - If you choose mbedtls as your SSL backend
  • wolfssl - If you choose wolfssl as your SSL backend
  • openssl - If you choose openssl as your SSL backend

Configure

See which configuration are supported

~/libuhttpd/$ mkdir build && cd build
~/libuhttpd/build$ cmake .. -L
~/libuhttpd/build$ cmake .. -LH

Build and install

~/libuhttpd/build$ make && sudo make install

Run Example

Run

~/libuhttpd/build$ ./example/example

Then use the command curl or browser to test

$ curl 'https://127.0.0.1:8000' -v

Install on OpenWrt

opkg update
opkg list | grep libuhttpd
opkg install libuhttpd-nossl

If the install command fails, you can compile it yourself.

Contributing

If you would like to help making libuhttpd better, see the CONTRIBUTING.md file.

If the project is helpful to you, please do not hesitate to star. Thank you!

About

A Lightweight and fully asynchronous HTTP server library based on libev and http-parser for Embedded Linux.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 80.3%
  • CMake 19.5%
  • Shell 0.2%