mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
81 lines
2.3 KiB
Plaintext
81 lines
2.3 KiB
Plaintext
About
|
|
=====
|
|
|
|
libmicrohttpd is a library written in C that provides a compact
|
|
API and implementation of an HTTP 1.1 web server. libmicrohttpd
|
|
only implements the HTTP 1.1 protocol. The main application must
|
|
still provide the content.
|
|
|
|
|
|
Installation
|
|
============
|
|
|
|
If you are using Subversion, run "autoreconf -fi" to create configure.
|
|
|
|
In order to run the testcases, you need a recent version of libcurl.
|
|
libcurl is not required if you just want to install the library.
|
|
|
|
|
|
Configure options
|
|
=================
|
|
|
|
Especially for development, use "--enable-messages" to enable error
|
|
reporting (and use MHD_USE_DEBUG). Error reporting is not enabled by
|
|
default to reduce the size of the library (error messages take
|
|
space!). If you are concerned about space, you should set "CFLAGS" to
|
|
"-Os --fomit-frame-pointer" to have gcc generate tight code. The
|
|
resulting binary should be less than 25k (on x86).
|
|
|
|
|
|
Portability
|
|
===========
|
|
|
|
The latest version of libmicrohttpd will try to avoid SIGPIPE on its
|
|
sockets. This should work on OS X, Linux and recent BSD systems (at
|
|
least). On other systems that may trigger a SIGPIPE on send/recv, the
|
|
main application should install a signal handler to handle SIGPIPE.
|
|
|
|
|
|
Development Status
|
|
==================
|
|
|
|
This is a beta release. Below we list things that should be
|
|
implemented (in order of importance) before we can claim to be
|
|
reasonably complete. #XXXX refers to the respective Mantis bug report
|
|
(or feature request). ARCH indicates that implementing this feature
|
|
may require non-trivial ARCHitectural changes in the code. API
|
|
indicates that implementing the feature will require API changes.
|
|
TRIV indicates that implementing this feature should be TRIVial. TEST
|
|
indicates that a testcase should be written before implementing the
|
|
feature.
|
|
|
|
|
|
For http/1.1-compliance:
|
|
========================
|
|
connection.c:
|
|
- support sending of chunked responses (#1260, TEST)
|
|
|
|
For POST:
|
|
=========
|
|
- add support to decode multipart/form-data with
|
|
nesting (used for files) -- #1221, TEST
|
|
|
|
For SSL:
|
|
========
|
|
microhttpd.h:
|
|
- define appropriate MHD_OPTIONs (#1225, API)
|
|
- actual implementation (#1225, ARCH)
|
|
|
|
Missing Testcases:
|
|
==================
|
|
- add testcases for http/1.1 pipelining (need
|
|
to figure out how to ensure curl pipelines)
|
|
- add testcases for resource limit enforcement
|
|
|
|
Documentation:
|
|
==============
|
|
- manual (texinfo, man)
|
|
- tutorial
|
|
|
|
|