Embedded HTTP for C++
  • C++ 95%
  • CMake 4.4%
  • C 0.6%
Find a file
2014-07-30 23:04:59 +02:00
examples And the example works too 2014-07-30 19:16:37 +02:00
include/ehttp Improved http_date() some more 2014-07-30 23:04:59 +02:00
src Comments are good, yes 2014-07-30 19:10:25 +02:00
test HTTPParser -> HTTPRequestParser 2014-07-18 02:11:31 +02:00
vendor Unit testing 2014-06-01 01:41:21 +02:00
.gitignore Ignore VS Target.dir's 2014-07-24 14:57:47 +02:00
.gitmodules https submodules 2014-07-04 01:25:49 +02:00
.travis.yml GCC 4.8, pls work 2014-07-04 02:01:16 +02:00
CMakeLists.txt Also cover Clang 2014-07-29 23:33:01 +02:00
Doxyfile Don't sort member functions 2014-06-29 19:08:38 +02:00
ehttp.sublime-project Exclude docs in sublime 2014-07-30 09:35:45 +02:00
README.md README update 2014-07-18 14:00:49 +02:00

ehttp

ehttp (Embedded HTTP) is a modular HTTP server and a webapp microframework, written in C++.

Out of the box, it provides a TCP server, an HTTP parser, and a request router.
These components are loosely coupled, and can be used independently, either standalone or inside a parent application.

ehttp is under active development, everything is subject to change

Features

  • Minimal dependencies
    All ehttp requires is a C++11-compatible compiler - GCC 4.8 or Visual Studio 2013.
    The (optional) built-in server additionally requires asio in the include path.

  • Independent
    Out of the box, ehttp provides a server, an HTTP parser and a request router.
    They can work fully independently, or integrate easily into a parent application.

  • Modular
    The three parts operate independently of each other, and you're not forced to use any of them.
    If you already have a perfectly fine TCP server, you can use that to feed the request parser data.
    If you don't like the router, you can just handle requests yourself.

    Additionally, HTTPServer provides an example of how to combine all three into a single class, as well as being a fully functional HTTP server by itself.