Get all the headers matching kind from the request. The kind argument can be a bitmask, ORing the various header kinds that are requested.
The iterator callback is invoked once for each header, with iterator_cls as first argument. After version 0.9.19, the headers are iterated in the same order as they were received from the network; previous versions iterated over the headers in reverse order.
MHD_get_connection_values returns the number of entries
iterated over; this can be less than the number of headers if, while
iterating, iterator returns
iterator can be
NULL: in this case this function just counts
and returns the number of headers.
In the case of
MHD_GET_ARGUMENT_KIND, the value argument
NULL if the URL contained a key without an equals operator.
For example, for a HTTP request to the URL “http://foo/bar?key”, the
value argument is
NULL; in contrast, a HTTP request to the URL
“http://foo/bar?key=”, the value argument is the empty string.
The normal case is that the URL contains “http://foo/bar?key=value”
in which case value would be the string “value” and key
would contain the string “key”.
This function can be used to append an entry to
the list of HTTP headers of a connection (so that the
MHD_get_connection_values function will return
them – and the MHD PostProcessor will also
see them). This maybe required in certain
situations (see Mantis #1399) where (broken)
HTTP implementations fail to supply values needed
by the post processor (or other parts of the
This function MUST only be called from within the MHD_AccessHandlerCallback (otherwise, access maybe improperly synchronized). Furthermore, the client must guarantee that the key and value arguments are 0-terminated strings that are NOT freed until the connection is closed. (The easiest way to do this is by passing only arguments to permanently allocated strings.).
connection is the connection for which the entry for key of the given kind should be set to the given value.
The function returns
MHD_NO if the operation
could not be performed due to insufficient memory
MHD_YES on success.
Get a particular header value. If multiple values match the
kind, return one of them (the “first”, whatever that means).
key must reference a zero-terminated ASCII-coded string
representing the header to look for: it is compared against the
strcasecmp(), so case is ignored. A value of
NULL for key can be used to lookup ’trailing’ values without a
key, for example if a URI is of the form
“http://example.com/?trailer”, a key of
NULL can be used to
access “tailer" The function returns
NULL if no matching item