Next: microhttpd-responses, Previous: microhttpd-inspect, Up: Top [Contents][Index]
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 MHD_NO
.
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
will be 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
application).
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
and 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
headers using (basically) strcasecmp()
, so case is ignored.
Get a particular header value. If multiple values match the
kind, return one of them (the “first”, whatever that means).
key must reference an ASCII-coded string
representing the header to look for: it is compared against the
headers using (basically) strncasecmp()
, so case is ignored.
The value_ptr is set to the address of the value found,
and value_size_ptr is set to the number of bytes in the
value.
Next: microhttpd-responses, Previous: microhttpd-inspect, Up: Top [Contents][Index]