|
|
@ -256,10 +256,12 @@ namespace client |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (!m_ConnectionSent && !line.compare(0, 10, "Connection")) |
|
|
|
if (!m_ConnectionSent && !line.compare(0, 10, "Connection")) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (line.find("upgrade") == std::string::npos && line.find("Upgrade") == std::string::npos) |
|
|
|
/* close connection, if not Connection: (U|u)pgrade (for websocket) */ |
|
|
|
m_OutHeader << "Connection: close\r\n"; /* close everything, except websocket */ |
|
|
|
auto x = line.find("pgrade"); |
|
|
|
else |
|
|
|
if (x != std::string::npos && std::tolower(line[x - 1]) == 'u') |
|
|
|
m_OutHeader << line << "\r\n"; |
|
|
|
m_OutHeader << line << "\r\n"; |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
m_OutHeader << "Connection: close\r\n"; |
|
|
|
|
|
|
|
|
|
|
|
m_ConnectionSent = true; |
|
|
|
m_ConnectionSent = true; |
|
|
|
} |
|
|
|
} |
|
|
|