Skip to content

Commit 014a633

Browse files
author
Sebastiano Merlino
committed
Added markdown doc. It will be the new standard for the library - the texi version will be derived
1 parent 608b93f commit 014a633

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

doc/libhttpserver.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
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

Comments
 (0)