mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
syn
This commit is contained in:
+65
-33
@@ -57,6 +57,11 @@ extern "C" {
|
||||
|
||||
#define MHD_NO 0
|
||||
|
||||
#define MHD_HTTP_OK 200
|
||||
|
||||
#define MHD_HTTP_NOT_FOUND 404
|
||||
|
||||
|
||||
/**
|
||||
* Options for the MHD daemon. Note that if neither
|
||||
* MHD_USER_THREAD_PER_CONNECTION nor MHD_USE_SELECT_INTERNALLY are
|
||||
@@ -110,6 +115,39 @@ enum MHD_OPTION {
|
||||
MHD_USE_IPv6 = 32,
|
||||
};
|
||||
|
||||
/**
|
||||
* The MHD_ValueKind specifies the source of
|
||||
* the key-value pairs in the HTTP protocol.
|
||||
*/
|
||||
enum MHD_ValueKind {
|
||||
|
||||
/**
|
||||
* Response header
|
||||
*/
|
||||
MHD_RESPONSE_HEADER_KIND = 0;
|
||||
|
||||
/**
|
||||
* HTTP header
|
||||
*/
|
||||
MHD_HEADER_KIND = 1;
|
||||
|
||||
/**
|
||||
* Cookies
|
||||
*/
|
||||
MHD_COOKIE_KIND = 2;
|
||||
|
||||
/**
|
||||
* POST data
|
||||
*/
|
||||
MHD_POSTDATA_KIND = 4;
|
||||
|
||||
/**
|
||||
* GET (URI) arguments
|
||||
*/
|
||||
MHD_GET_ARGUMENT_KIND = 8;
|
||||
|
||||
};
|
||||
|
||||
struct MHD_Daemon;
|
||||
|
||||
struct MHD_Session;
|
||||
@@ -131,9 +169,9 @@ typedef int
|
||||
|
||||
/**
|
||||
* A client has requested the given url using the given method ("GET",
|
||||
* "PUT" or "POST"). The callback must call MHS callbacks to provide
|
||||
* content to give back to the client and return an HTTP status code
|
||||
* (i.e. 200 for OK, 404, etc.).
|
||||
* "PUT", "DELETE", "POST", etc). The callback must call MHS
|
||||
* callbacks to provide content to give back to the client and return
|
||||
* an HTTP status code (i.e. 200 for OK, 404, etc.).
|
||||
*
|
||||
* @return MHS_YES if the connection was handled successfully,
|
||||
* MHS_NO if the socket must be closed due to a serios
|
||||
@@ -157,6 +195,7 @@ typedef int
|
||||
*/
|
||||
typedef int
|
||||
(*MHD_KeyValueIterator)(void * cls,
|
||||
enum MHD_ValueKind kind,
|
||||
const char * key,
|
||||
const char * value);
|
||||
|
||||
@@ -239,7 +278,7 @@ int
|
||||
MHD_get_fdset(struct MHD_Daemon * daemon,
|
||||
fd_set * read_fd_set,
|
||||
fd_set * write_fd_set,
|
||||
fd_set * exc_fd_set,
|
||||
fd_set * except_fd_set,
|
||||
int * max_fd);
|
||||
|
||||
/**
|
||||
@@ -292,42 +331,22 @@ MHD_unregister_handler(struct MHD_Daemon * daemon,
|
||||
* @return number of entries iterated over
|
||||
*/
|
||||
int
|
||||
MHD_get_session_headers(struct MHD_Session * session,
|
||||
MHD_KeyValueIterator * iterator,
|
||||
void * iterator_cls);
|
||||
MHD_get_session_values(struct MHD_Session * session,
|
||||
enum MHD_ValueKind kind,
|
||||
MHD_KeyValueIterator * iterator,
|
||||
void * iterator_cls);
|
||||
|
||||
/**
|
||||
* Get a particular header value.
|
||||
* Get a particular header value. If multiple
|
||||
* values match the kind, return any one of them.
|
||||
*
|
||||
* @param key the header to look for
|
||||
* @return NULL if no such item was found
|
||||
*/
|
||||
const char *
|
||||
MHD_lookup_session_header(struct MHD_Session * session,
|
||||
const char * key);
|
||||
|
||||
/**
|
||||
* Get all of the form fields from POST.
|
||||
*
|
||||
* @param iterator callback to call on each header;
|
||||
* maybe NULL (then just count headers)
|
||||
* @param iterator_cls extra argument to iterator
|
||||
* @return number of entries iterated over
|
||||
*/
|
||||
int
|
||||
MHD_get_post_items(struct MHD_Session * session,
|
||||
MHD_KeyValueIterator * iterator,
|
||||
void * iterator_cls);
|
||||
|
||||
/**
|
||||
* Get a particular form field from POST.
|
||||
*
|
||||
* @param key the field to look for
|
||||
* @return NULL if no such item was found
|
||||
*/
|
||||
const char *
|
||||
MHD_lookup_post_item(struct MHD_Session * session,
|
||||
const char * key);
|
||||
MHD_lookup_session_value(struct MHD_Session * session,
|
||||
enum MHD_ValueKind kind,
|
||||
const char * key);
|
||||
|
||||
/**
|
||||
* Queue a response to be transmitted to the client (as soon as
|
||||
@@ -343,6 +362,7 @@ int
|
||||
MHD_queue_response(struct MHD_Session * session,
|
||||
unsigned int status_code,
|
||||
struct MHD_Response * response);
|
||||
|
||||
|
||||
/**
|
||||
* Create a response object. The response object can be extended with
|
||||
@@ -420,6 +440,18 @@ MHD_get_response_headers(struct MHD_Response * response,
|
||||
MHD_KeyValueIterator * iterator,
|
||||
void * iterator_cls);
|
||||
|
||||
/**
|
||||
* FIXME-CHRIS
|
||||
* @return -1 if no data uploaded; otherwise number of bytes
|
||||
* read into buf; 0 for end of transmission
|
||||
*/
|
||||
int
|
||||
MHD_read_file_upload(struct MHD_Session * session,
|
||||
void * buf,
|
||||
size_t len);
|
||||
|
||||
|
||||
|
||||
#if 0 /* keep Emacsens' auto-indent happy */
|
||||
{
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user