QByteArray TEpollHttpSocket::readRequest() { QByteArray ret; if (canReadRequest()) { ret = httpBuffer; clear(); } return ret; }
THttpRequest THttpSocket::read() { T_TRACEFUNC(""); THttpRequest req; if (canReadRequest()) { int idx = readBuffer.indexOf("\r\n\r\n"); if (idx > 0) { if (fileBuffer.isOpen()) { fileBuffer.close(); req.setRequest(readBuffer.left(idx + 4), fileBuffer.fileName()); } else { req.setRequest(readBuffer.left(idx + 4), readBuffer.mid(idx + 4)); } readBuffer.clear(); req.setClientAddress(peerAddress()); } } return req; }
QList<THttpRequest> THttpSocket::read() { T_TRACEFUNC(""); QList<THttpRequest> reqList; if (canReadRequest()) { if (fileBuffer.isOpen()) { fileBuffer.close(); THttpRequest req(readBuffer, fileBuffer.fileName(), peerAddress()); reqList << req; } else { reqList = THttpRequest::generate(readBuffer, peerAddress()); } readBuffer.clear(); lengthToRead = -1; } return reqList; }