| 1107 | } |
| 1108 | |
| 1109 | bool HTTPRemoteClient::ReadRequest(HTTPRequest& req) |
| 1110 | { |
| 1111 | LineReader reader(m_recv_buffer, MAX_HEADERS_SIZE); |
| 1112 | |
| 1113 | if (!req.LoadControlData(reader)) return false; |
| 1114 | if (!req.LoadHeaders(reader)) return false; |
| 1115 | if (!req.LoadBody(reader)) return false; |
| 1116 | |
| 1117 | // Remove the bytes read out of the buffer. |
| 1118 | // If one of the above calls throws an error, the caller must |
| 1119 | // catch it and disconnect the client. |
| 1120 | m_recv_buffer.erase( |
| 1121 | m_recv_buffer.begin(), |
| 1122 | m_recv_buffer.begin() + reader.Consumed()); |
| 1123 | |
| 1124 | return true; |
| 1125 | } |
| 1126 | |
| 1127 | bool HTTPRemoteClient::MaybeSendBytesFromBuffer() |
| 1128 | { |
no test coverage detected