On Mon, Nov 19, 2012 at 10:12:53PM +0200, Nir Soffer wrote:
> On Mon, Nov 19, 2012 at 7:26 PM, Pander <pan...@users.sourceforge.net>wrote:
> 
> > Second question is regarding buffer_in in request. I can't seem to find
> > a proper example with helpers to retrieve the POST parameters.
> 
> 
> If you want to support the default form encoding
> (application/x-www-form-urlencoded),
> you can use evhttp_parse_query_str().
> 
> libevent does not have any code to parse multipart/form-data.

Hmm, think he's talking about evhtp, not evhttp.


The evhtp_request_t structure contains the evhtp_uri_t structure which
tries to maintain the proper tree-format of a URI:

uri ->
        authority ->
                username
                password
                hostname
                port
        path ->
                full path (/a/b/c.html)
                path (/a/b/)
                file (index.html)
        fragment ->
                data after '#' in the query
        scheme ->
                the scheme of the request if found
        query ->
                a evhtp_kv_t list of query keys and values


You can get the raw query arguments by using

request->uri->query_raw

or you can access the parsed query arguments via this:

request->uri->query
                
by either looking for specific values:

const char * val = evhtp_kv_find(request->uri->query, "key");

Or by iterating over each one:

int my_callback(evhtp_kv_t * kv, void * arg) {
        printf("key=%s val=%s\n", kv->key, kv->val);
        return 0;
}

evhtp_kvs_for_each(request->uri->query, my_callback, NULL);


***********************************************************************
To unsubscribe, send an e-mail to majord...@freehaven.net with
unsubscribe libevent-users    in the body.

Reply via email to