summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Api.cpp2
-rw-r--r--src/net/HttpParser.cpp12
2 files changed, 9 insertions, 5 deletions
diff --git a/src/Api.cpp b/src/Api.cpp
index 7e05621..9c8259f 100644
--- a/src/Api.cpp
+++ b/src/Api.cpp
@@ -246,7 +246,7 @@ vector<Update::Ptr> Api::getUpdates(int32_t offset, int32_t limit, int32_t timeo
if (timeout) {
args.push_back(HttpReqArg("timeout", timeout));
}
- return TgTypeParser::getInstance().parseJsonAndGetArray<Update>(&TgTypeParser::parseJsonAndGetUpdate, sendRequest("getUpdates", args), "result");
+ return TgTypeParser::getInstance().parseJsonAndGetArray<Update>(&TgTypeParser::parseJsonAndGetUpdate, sendRequest("getUpdates", args));
}
void Api::setWebhook(const string& url) const {
diff --git a/src/net/HttpParser.cpp b/src/net/HttpParser.cpp
index 7c4f9e2..4b57bc1 100644
--- a/src/net/HttpParser.cpp
+++ b/src/net/HttpParser.cpp
@@ -196,11 +196,15 @@ string HttpParser::parseHttp(bool isRequest, const string& data, map<string, str
string HttpParser::parseHttp(bool isRequest, const string& data) {
size_t headerEnd = data.find("\r\n\r\n");
- if (headerEnd == data.npos) {
+ if (headerEnd != data.npos) {
+ headerEnd += 4;
+ } else {
headerEnd = data.find("\n\n");
- }
- if (headerEnd == data.npos) {
- headerEnd = 0;
+ if (headerEnd != data.npos) {
+ headerEnd += 2;
+ } else {
+ headerEnd = 0;
+ }
}
return data.substr(headerEnd);
}