Skip to content

Commit fb444e8

Browse files
committed
Remove completed flag from code
1 parent f3862de commit fb444e8

File tree

2 files changed

+8
-35
lines changed

2 files changed

+8
-35
lines changed

src/deferred_response.cpp

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,9 @@ namespace httpserver
2828
namespace details
2929
{
3030

31-
MHD_Response* get_raw_response_helper(void* cls, bool completed, ssize_t (*cb)(void*, uint64_t, char*, size_t))
31+
MHD_Response* get_raw_response_helper(void* cls, ssize_t (*cb)(void*, uint64_t, char*, size_t))
3232
{
33-
if(!completed)
34-
{
35-
return MHD_create_response_from_callback(MHD_SIZE_UNKNOWN, 1024, cb, cls, NULL);
36-
}
37-
else
38-
{
39-
return static_cast<string_response*>(cls)->get_raw_response();
40-
}
33+
return MHD_create_response_from_callback(MHD_SIZE_UNKNOWN, 1024, cb, cls, NULL);
4134
}
4235

4336
}

src/httpserver/deferred_response.hpp

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ namespace httpserver
3333

3434
namespace details
3535
{
36-
MHD_Response* get_raw_response_helper(void* cls, bool completed, ssize_t (*cb)(void*, uint64_t, char*, size_t));
36+
MHD_Response* get_raw_response_helper(void* cls, ssize_t (*cb)(void*, uint64_t, char*, size_t));
3737
}
3838

3939
template <class T>
@@ -49,24 +49,21 @@ class deferred_response : public string_response
4949
):
5050
string_response(content, response_code, content_type),
5151
cycle_callback(cycle_callback),
52-
closure_data(closure_data),
53-
completed(false)
52+
closure_data(closure_data)
5453
{
5554
}
5655

5756
deferred_response(const deferred_response& other):
5857
string_response(other),
5958
cycle_callback(other.cycle_callback),
60-
closure_data(other.closure_data),
61-
completed(other.completed)
59+
closure_data(other.closure_data)
6260
{
6361
}
6462

6563
deferred_response(deferred_response&& other) noexcept:
6664
string_response(std::move(other)),
6765
cycle_callback(std::move(other.cycle_callback)),
68-
closure_data(std::move(other.closure_data)),
69-
completed(other.completed)
66+
closure_data(std::move(other.closure_data))
7067
{
7168
}
7269

@@ -77,7 +74,6 @@ class deferred_response : public string_response
7774
(string_response&) (*this) = b;
7875
this->cycle_callback = b.cycle_callback;
7976
this->closure_data = b.closure_data;
80-
this->completed = b.completed;
8177

8278
return *this;
8379
}
@@ -89,7 +85,6 @@ class deferred_response : public string_response
8985
(string_response&) (*this) = std::move(b);
9086
this->cycle_callback = std::move(b.cycle_callback);
9187
this->closure_data = std::move(b.closure_data);
92-
this->completed = b.completed;
9388

9489
return *this;
9590
}
@@ -100,32 +95,17 @@ class deferred_response : public string_response
10095

10196
MHD_Response* get_raw_response()
10297
{
103-
return details::get_raw_response_helper((void*) this, completed, &(this->cb));
104-
}
105-
106-
void decorate_response(MHD_Response* response)
107-
{
108-
if(completed)
109-
{
110-
static_cast<string_response*>(this)->decorate_response(response);
111-
}
98+
return details::get_raw_response_helper((void*) this, &(this->cb));
11299
}
113100

114101
private:
115102
ssize_t (*cycle_callback)(std::shared_ptr<T>, char*, size_t);
116103
std::shared_ptr<T> closure_data;
117-
bool completed;
118104

119105
static ssize_t cb(void* cls, uint64_t pos, char* buf, size_t max)
120106
{
121107
deferred_response<T>* dfr = static_cast<deferred_response<T>*>(cls);
122-
ssize_t val = dfr->cycle_callback(dfr->closure_data, buf, max);
123-
if(val == -1)
124-
{
125-
dfr->completed = true;
126-
}
127-
128-
return val;
108+
return dfr->cycle_callback(dfr->closure_data, buf, max);
129109
}
130110
};
131111

0 commit comments

Comments
 (0)