1
0
mirror of synced 2025-04-21 22:25:55 +03:00

Merge pull request #322 from hyperxor/fix_response_move

Fix suppressed Response class objects moving
This commit is contained in:
yhirose 2020-01-08 22:09:17 -05:00 committed by GitHub
commit db7ae0ec21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -300,7 +300,7 @@ struct Request {
struct Response { struct Response {
std::string version; std::string version;
int status; int status = -1;
Headers headers; Headers headers;
std::string body; std::string body;
@ -324,8 +324,11 @@ struct Response {
std::function<void(size_t offset, DataSink &sink)> provider, std::function<void(size_t offset, DataSink &sink)> provider,
std::function<void()> resource_releaser = [] {}); std::function<void()> resource_releaser = [] {});
Response() : status(-1), content_length(0) {} Response() = default;
Response(const Response&) = default;
Response& operator=(const Response&) = default;
Response(Response&&) = default;
Response& operator=(Response&&) = default;
~Response() { ~Response() {
if (content_provider_resource_releaser) { if (content_provider_resource_releaser) {
content_provider_resource_releaser(); content_provider_resource_releaser();
@ -333,7 +336,7 @@ struct Response {
} }
// private members... // private members...
size_t content_length; size_t content_length = 0;
ContentProvider content_provider; ContentProvider content_provider;
std::function<void()> content_provider_resource_releaser; std::function<void()> content_provider_resource_releaser;
}; };