Lines Matching defs:response
74 std::string HttpResponse::DecodeVersion(const std::string& response, std::string::size_type versionStartPos)
77 if (versionStartPos < response.size()) {
78 auto versionEndPos = response.find(' ', versionStartPos);
80 return response.substr(versionStartPos, versionEndPos - versionStartPos);
87 std::string HttpResponse::DecodeStatus(const std::string& response, std::string::size_type versionEndPos)
90 if (versionEndPos < response.size() && response[versionEndPos] == ' ') {
91 auto statusStartPos = response.find_first_not_of(' ', versionEndPos);
93 auto statusEndPos = response.find(' ', statusStartPos);
94 statusEndPos = (statusEndPos == std::string::npos) ? response.find(EOL, statusStartPos) : statusEndPos;
96 return response.substr(statusStartPos, statusEndPos - statusStartPos);
105 bool HttpResponse::Decode(const std::string& response, HttpResponse& parsed)
108 auto versionStartPos = response.find("HTTP");
114 parsed.version = DecodeVersion(response, versionStartPos);
115 parsed.status = DecodeStatus(response, versionStartPos + parsed.version.size());
116 parsed.connection = DecodeHeader(response, CONNECTION);
117 parsed.upgrade = DecodeHeader(response, UPGRADE);
118 parsed.secWebSocketAccept = DecodeHeader(response, SEC_WEBSOCKET_ACCEPT);