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;
}
Beispiel #3
0
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;
}