On 11/03/2015 06:55 PM, Dirk Brinkmeier wrote: > Hi. > > I'm very excited in using libmicrohttpd. > It has helped me a lot to develop a web server enabled application! > > But I have 2 questions: > > The first is regarding the complete size of a POSTed upload (e.g. file > upload). > Currently I'm using the value delivered by: > > MHD_lookup_connection_value(connection, MHD_HEADER_KIND, > MHD_HTTP_HEADER_CONTENT_LENGTH) > > But this value always seems to be higher than the actual data that is sent. > Or in other words it is higher than the file size to be uploaded. > So I wait for *upload_data_size to be empty an then I assume that the > POST upload is finished.
Sure, that also works. > But I can't verify the uploaded file size to the real file size. > > Is the any chance to estimate the correct file size for an upload? Odd, could you have a broken client doing the upload? > The second question belongs to requests that contains query data. > For example: > https://localhost:8099/json/T_Personal.json?order=asc&limit=10&offset=0&_=1436290313274 > > > I'm reading each parameter by calling MHD_lookup_connection_value: > MHD_lookup_connection_value(connection, MHD_GET_ARGUMENT_KIND, "order"); > MHD_lookup_connection_value(connection, MHD_GET_ARGUMENT_KIND, "offset"); > MHD_lookup_connection_value(connection, MHD_GET_ARGUMENT_KIND, "limit"); > MHD_lookup_connection_value(connection, MHD_GET_ARGUMENT_KIND, "search"); > MHD_lookup_connection_value(connection, MHD_GET_ARGUMENT_KIND, "_"); > > This has the disadvantage that I always have to know the parameters that > I expect. > Is there a way to get the complete query string (for parsing it > afterwards in my application)? > In the example above "order=asc&limit=10&offset=0&_=1436290313274" You should probably use MHD_get_connection_values(), that way you don't have to parse the string yourself. Happy hacking! Christian
