[Libwebsockets] How to get query parameters using the GET method?

Andy Green andy at warmcat.com
Tue Jun 7 22:10:53 CEST 2016



On June 8, 2016 3:40:17 AM GMT+08:00, Thomas Spitz <thomas.spitz at hestia-france.com> wrote:
>Hello everyone,
>
>It might not make sense as POST request are possibly much larger, but
>is
>there also an official way to retrieve the query parameters, which were
>appended in the URI using POST?
>
>I have seen that the parameters are in *in egg:
>
>> <form action="formtest" method="post">
>>   Some text:<br>
>>   <input type="text" name="Text" value="Give me some text"><br>
>>   <input type="text" name="Text2" value="secondValue"><br>
>>   <input type="submit" value="Send the form">
>> </form>
>
>gives
>
>> Form results: 'Text=Give+me+some+text&Text2=secondValue'
>
>But then we need to parse it manually

Until recently it has been out of scope for lws.  It handles the GET form parameter style with apis as you copied below.

However with the generic-sessions plugin, lws itself does now have something nontrivial that parses POST form data.  Right now it's part of generic-sessions

https://github.com/warmcat/libwebsockets/blob/master/plugins/protocol_generic_sessions.c#L1459

but now that works I am moving stuff out of it back into the main library (eg the smtp state machine support yesterday).

That code assumes all the form data came in one POST_BODY packet, which for his small amount of form data is okay, but generally, POST can be used to upload arbitrary files.  So I'll take a closer look at that tomorrow.

-Andy

>Best regards,
>Thomas
>
>
>2016-05-20 15:13 GMT+02:00 Roger Schreiter <roger at planinternet.de>:
>
>> Am 20.05.2016 15:09, schrieb Andy Green:
>> > ...
>> > /* dump the individual URI Arg parameters */
>> >                       n = 0;
>> >                       while (lws_hdr_copy_fragment(wsi, buf,
>sizeof(buf),
>> >
>> WSI_TOKEN_HTTP_URI_ARGS, n) > 0) {
>> >                               lwsl_notice("URI Arg %d: %s\n", ++n,
>buf);
>>
>>
>> Great!
>>
>> Regards,
>> Roger.
>> _______________________________________________
>> Libwebsockets mailing list
>> Libwebsockets at ml.libwebsockets.org
>> http://libwebsockets.org/mailman/listinfo/libwebsockets
>>




More information about the Libwebsockets mailing list