-
Notifications
You must be signed in to change notification settings - Fork 192
Description
Prerequisites
- Put an X between the brackets on this line if you have checked that your issue isn't already filed: https://github.com/search?l=&q=repo%3Aetr%2Flibhttpserver&type=Issues
Description
The deferred_response
constructor includes a const std::string& content = ""
parameter that is documented as:
Besides the callback, optionally, you can provide a content parameter that sets the initial message sent immediately to the client.
The content
parameter is passed to the base class string_response
constructor where it is assigned to the content
member but never actually consumed because string_response::get_raw_response()
is never called.
This behavior might appear to have been removed by ed0841d in #145, but it likely didn't work even in eea93bd because get_raw_response()
is a virtual function.
The tests don't expect the content parameter to be sent either:
libhttpserver/test/integ/deferred.cpp
Line 164 in d249ba6
LT_CHECK_EQ(s, "test42test84"); |
At this point in the interest of bug compatibility maybe just change the parameter name from "content" to "unused" and fix the docs.
Steps to Reproduce
Send a deferred_response
with a non-empty content
argument such as
libhttpserver/test/integ/deferred.cpp
Line 103 in d249ba6
return std::make_shared<deferred_response<test_data>>(test_callback_with_data, internal_info, "cycle callback response"); |
Expected behavior: Content argument is transmitted.
Actual behavior: Content argument is ignored.
Reproduces how often: 100%
Versions
- OS version
Linux hydrol2 4.18.0-477.15.1.el8_8.x86_64 #1 SMP Fri Jun 2 08:27:19 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux
- libhttpserver verion 0.18.2 compiled
- libmicrohttpd version 0.9.71 compiled