Closed stuart-byma closed 1 year ago
Some auto checks were cancelled? Never seen that before!
Some auto checks were cancelled? Never seen that before!
I suspect that github has finally deprecated ubuntu 18.04 - I've started noticing this issue elsewhere as well. I think we can ignore that check for the purpose of this PR.
Thanks for the change and for the patience to go through the review process. I think this is a great feature to have in the library.
Identify the Bug
292
Description of the Change
This change allows the server to handle argument keys with multiple values e.g. url?arg=param&arg=what
Previous, the arg key would just be overwritten with the next value. This change adds a http_arg_value type to house all the values for a given key.
Adjust existing get_arg(s) methods, and add some get_arg_flat type methods that still just return the first value for a given key.
Add a test case for multiple valued keys.
Add a test case for a large file upload that triggers chunking behavior of MHD. This causes the server to concatenate file chunks within the first value of the given arg key, so the test ensures that this behavior is not affected by the changes.
Alternate Designs
Design is according to discussion in #292
Possible Drawbacks
Small changes to public API.
Verification Process
Additional testing added as in change description. In particular, verify that large file handling behavior has not regressed.
Release Notes
get_arg()
now returns anhttp_arg_value
type containing a collection of all values associated with the requested key.get_arg_flat()
retains the old behavior where just one value is selected and returned.