|
| 1 | +The libhttpserver (0.7.1) reference manual |
| 2 | +========================================== |
| 3 | + |
| 4 | +Copying |
| 5 | +======= |
| 6 | +This manual is for libhttpserver, C++ library for creating an |
| 7 | +embedded Rest HTTP server (and more). |
| 8 | + |
| 9 | +> Permission is granted to copy, distribute and/or modify this document |
| 10 | +> under the terms of the GNU Free Documentation License, Version 1.3 |
| 11 | +> or any later version published by the Free Software Foundation; |
| 12 | +> with no Invariant Sections, no Front-Cover Texts, and no Back-Cover |
| 13 | +> Texts. A copy of the license is included in the section entitled GNU |
| 14 | +> Free Documentation License. |
| 15 | +
|
| 16 | +Contents |
| 17 | +======== |
| 18 | +* Introduction. |
| 19 | +* Compilation. |
| 20 | +* Constants. |
| 21 | +* Structures and classes type definition. |
| 22 | +* Callback functions definition. |
| 23 | +* Create and work with server. |
| 24 | +* Registering resources. |
| 25 | +* Building responses to requests. |
| 26 | +* Whitelists and Blacklists. |
| 27 | +* Simple comet semantics. |
| 28 | +* Utilizing Authentication. |
| 29 | +* Obtaining and modifying status information. |
| 30 | + |
| 31 | +Appendices |
| 32 | +---------- |
| 33 | +* GNU-LGPL: The GNU Lesser General Public License says how you can copy and share almost all of libhttpserver. |
| 34 | +* GNU-FDL: The GNU Free Documentation License says how you can copy and share the documentation of libhttpserver. |
| 35 | + |
| 36 | +Introduction |
| 37 | +============ |
| 38 | +libhttpserver is meant to constitute an easy system to build HTTP |
| 39 | +servers with REST fashion. |
| 40 | +libhttpserver is based on libmicrohttpd and, like this, it is a |
| 41 | +daemon library. |
| 42 | +The mission of this library is to support all possible HTTP features |
| 43 | +directly and with a simple semantic allowing then the user to concentrate |
| 44 | +only on his application and not on HTTP request handling details. |
| 45 | + |
| 46 | +The library is supposed to work transparently for the client Implementing |
| 47 | +the business logic and using the library itself to realize an interface. |
| 48 | +If the user wants it must be able to change every behavior of the library |
| 49 | +itself through the registration of callbacks. |
| 50 | + |
| 51 | +Like the api is based on (libmicrohttpd), libhttpserver is able to decode |
| 52 | +certain body format a and automatically format them in object oriented |
| 53 | +fashion. This is true for query arguments and for *POST* and *PUT* |
| 54 | +requests bodies if *application/x-www-form-urlencoded* or |
| 55 | +*multipart/form-data* header are passed. |
| 56 | + |
| 57 | +The header reproduce all the constants defined by libhttpserver. |
| 58 | +These maps various constant used by the HTTP protocol that are exported |
| 59 | +as a convenience for users of the library. Is is possible for the user |
| 60 | +to define their own extensions of the HTTP standard and use those with |
| 61 | +libhttpserver. |
| 62 | + |
| 63 | +All functions are guaranteed to be completely reentrant and |
| 64 | +thread-safe (unless differently specified). |
| 65 | +Additionally, clients can specify resource limits on the overall |
| 66 | +number of connections, number of connections per IP address and memory |
| 67 | +used per connection to avoid resource exhaustion. |
| 68 | + |
| 69 | +Compilation |
| 70 | +=========== |
| 71 | +libhttpserver uses the standard system where the usual build process |
| 72 | +involves running |
| 73 | +> ./bootstrap |
| 74 | +> mkdir build |
| 75 | +> cd build |
| 76 | +> ./configure |
| 77 | +> make |
| 78 | +> make install |
| 79 | +
|
0 commit comments