Commit 7e1c1a00 authored by knowledge4igor's avatar knowledge4igor

Move parser to Connection level

parent c5a6c77f
...@@ -133,6 +133,7 @@ private: ...@@ -133,6 +133,7 @@ private:
Queue<RequestData> requestsQueue; Queue<RequestData> requestsQueue;
TimerPool timerPool_; TimerPool timerPool_;
Private::Parser<Http::Response> parser;
}; };
class ConnectionPool { class ConnectionPool {
......
...@@ -415,7 +415,6 @@ Connection::hasTransport() const { ...@@ -415,7 +415,6 @@ Connection::hasTransport() const {
void void
Connection::handleResponsePacket(const char* buffer, size_t totalBytes) { Connection::handleResponsePacket(const char* buffer, size_t totalBytes) {
Private::Parser<Http::Response> parser;
parser.feed(buffer, totalBytes); parser.feed(buffer, totalBytes);
if (parser.parse() == Private::State::Done) { if (parser.parse() == Private::State::Done) {
if (requestEntry) { if (requestEntry) {
...@@ -425,6 +424,8 @@ Connection::handleResponsePacket(const char* buffer, size_t totalBytes) { ...@@ -425,6 +424,8 @@ Connection::handleResponsePacket(const char* buffer, size_t totalBytes) {
} }
requestEntry->resolve(std::move(parser.response)); requestEntry->resolve(std::move(parser.response));
parser.reset();
auto onDone = requestEntry->onDone; auto onDone = requestEntry->onDone;
requestEntry.reset(nullptr); requestEntry.reset(nullptr);
...@@ -432,9 +433,6 @@ Connection::handleResponsePacket(const char* buffer, size_t totalBytes) { ...@@ -432,9 +433,6 @@ Connection::handleResponsePacket(const char* buffer, size_t totalBytes) {
if (onDone) if (onDone)
onDone(); onDone();
} }
} else {
// TODO: Do more specific error
requestEntry->reject(Error("Response problem"));
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment