cutelyst 4.3.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
Public Types | |
enum | OpCode { OpCodeContinue , OpCodeText , OpCodeBinary , OpCodeReserved3 , OpCodeReserved4 , OpCodeReserved5 , OpCodeReserved6 , OpCodeReserved7 , OpCodeClose , OpCodePing , OpCodePong , OpCodeReservedB , OpCodeReservedC , OpCodeReservedD , OpCodeReservedE , OpCodeReservedF } |
enum | WebSocketPhase { WebSocketPhaseHeaders , WebSocketPhaseSize , WebSocketPhaseMask , WebSocketPhasePayload } |
Public Types inherited from Cutelyst::ProtocolData | |
enum class | HeaderConnection { NotSet , Keep , Close , Upgrade } |
enum | ParserState { MethodLine , HeaderLine , ContentBody , H2Frames } |
Public Types inherited from Cutelyst::EngineRequest | |
enum | StatusFlag : quint8 { InitialState , FinalizedHeaders , IOWrite , Chunked , ChunkedDone , Async , Finalized } |
Public Member Functions | |
ProtoRequestHttp (Socket *sock, int bufferSize) | |
qint64 | doWrite (const char *data, qint64 len) override final |
qint64 | doWrite (const QByteArray &data) |
void | processingFinished () override final |
void | resetData () override final |
void | setupNewConnection (Socket *sock) override final |
virtual void | socketDisconnected () override final |
bool | webSocketClose (quint16 code, const QString &reason) override final |
bool | webSocketSendBinaryMessage (const QByteArray &message) override final |
bool | webSocketSendPing (const QByteArray &payload) override final |
bool | webSocketSendTextMessage (const QString &message) override final |
bool | writeHeaders (quint16 status, const Cutelyst::Headers &headers) override final |
Public Member Functions inherited from Cutelyst::ProtocolData | |
ProtocolData (Socket *sock, int bufferSize) | |
Public Member Functions inherited from Cutelyst::EngineRequest | |
void | finalize () |
virtual void | finalizeBody () |
virtual void | finalizeCookies () |
virtual void | finalizeError () |
virtual bool | finalizeHeaders () |
void | setPath (char *rawPath, const int len) |
void | setPath (QByteArray &path) |
bool | webSocketHandshake (const QByteArray &key, const QByteArray &origin, const QByteArray &protocol) |
qint64 | write (const char *data, qint64 len) |
Public Attributes | |
int | beginLine |
int | last |
quint8 | websocket_continue_opcode |
quint8 | websocket_finn_opcode |
quint32 | websocket_mask |
QByteArray | websocket_message |
quint32 | websocket_need |
QByteArray | websocket_payload |
quint64 | websocket_payload_size |
int | websocket_phase |
int | websocket_start_of_frame |
bool | websocketUpgraded |
Public Attributes inherited from Cutelyst::ProtocolData | |
int | buf_size |
char * | buffer |
ParserState | connState |
qint64 | contentLength |
HeaderConnection | headerConnection |
bool | headerHost |
QIODevice * | io |
Socket * | sock |
ProtocolData * | upgradedFrom |
bool | X_Forwarded_For |
bool | X_Forwarded_Host |
bool | X_Forwarded_Proto |
Public Attributes inherited from Cutelyst::EngineRequest | |
QIODevice * | body |
Context * | context |
Headers | headers |
bool | isSecure |
QByteArray | method |
QString | path |
QByteArray | protocol |
QByteArray | query |
QHostAddress | remoteAddress |
quint16 | remotePort |
QString | remoteUser |
QByteArray | serverAddress |
TimePointSteady | startOfRequest |
Status | status |
Protected Member Functions | |
bool | webSocketHandshakeDo (const QByteArray &key, const QByteArray &origin, const QByteArray &protocol) override final |
Definition at line 18 of file protocolhttp.h.
enum Cutelyst::ProtoRequestHttp::OpCode |
Definition at line 32 of file protocolhttp.h.
enum Cutelyst::ProtoRequestHttp::WebSocketPhase |
Definition at line 24 of file protocolhttp.h.
ProtoRequestHttp::ProtoRequestHttp | ( | Socket * | sock, |
int | bufferSize | ||
) |
Definition at line 321 of file protocolhttp.cpp.
|
override |
Definition at line 327 of file protocolhttp.cpp.
|
finaloverridevirtual |
Reimplement this to do the RAW writing to the client
Implements Cutelyst::EngineRequest.
Definition at line 397 of file protocolhttp.cpp.
References QIODevice::write().
|
inline |
Definition at line 60 of file protocolhttp.h.
|
finaloverridevirtual |
This is called when the Application chain is finished processing this request, here the request can send final bytes to the client or do a clean up.
Default implementation deletes both body and context.
If a WebSocket upgrade was made then you will want to keep the context object around.
Reimplemented from Cutelyst::EngineRequest.
Definition at line 402 of file protocolhttp.cpp.
References Cutelyst::EngineRequest::status.
|
inlinefinaloverridevirtual |
Reimplemented from Cutelyst::ProtocolData.
Definition at line 72 of file protocolhttp.h.
|
finaloverridevirtual |
Implements Cutelyst::ProtocolData.
Definition at line 331 of file protocolhttp.cpp.
|
finaloverridevirtual |
Reimplemented from Cutelyst::ProtocolData.
Definition at line 495 of file protocolhttp.cpp.
|
finaloverridevirtual |
Reimplemented from Cutelyst::EngineRequest.
Definition at line 480 of file protocolhttp.cpp.
|
finaloverrideprotectedvirtual |
Reimplemented from Cutelyst::EngineRequest.
Definition at line 505 of file protocolhttp.cpp.
|
finaloverridevirtual |
Reimplemented from Cutelyst::EngineRequest.
Definition at line 452 of file protocolhttp.cpp.
|
finaloverridevirtual |
Reimplemented from Cutelyst::EngineRequest.
Definition at line 466 of file protocolhttp.cpp.
|
finaloverridevirtual |
Reimplemented from Cutelyst::EngineRequest.
Definition at line 437 of file protocolhttp.cpp.
|
finaloverridevirtual |
Reimplement this to write the headers back to the client
Implements Cutelyst::EngineRequest.
Definition at line 338 of file protocolhttp.cpp.
References QByteArray::append(), Qt::CaseInsensitive, QByteArray::compare(), Cutelyst::Headers::data(), Cutelyst::EngineRequest::headers, Cutelyst::Engine::httpStatusMessage(), Cutelyst::EngineRequest::protocol, QByteArray::size(), Cutelyst::EngineRequest::status, and QIODevice::write().
int Cutelyst::ProtoRequestHttp::beginLine |
Definition at line 106 of file protocolhttp.h.
int Cutelyst::ProtoRequestHttp::last |
Definition at line 105 of file protocolhttp.h.
quint8 Cutelyst::ProtoRequestHttp::websocket_continue_opcode |
Definition at line 109 of file protocolhttp.h.
quint8 Cutelyst::ProtoRequestHttp::websocket_finn_opcode |
Definition at line 110 of file protocolhttp.h.
quint32 Cutelyst::ProtoRequestHttp::websocket_mask |
Definition at line 104 of file protocolhttp.h.
QByteArray Cutelyst::ProtoRequestHttp::websocket_message |
Definition at line 100 of file protocolhttp.h.
quint32 Cutelyst::ProtoRequestHttp::websocket_need |
Definition at line 103 of file protocolhttp.h.
QByteArray Cutelyst::ProtoRequestHttp::websocket_payload |
Definition at line 101 of file protocolhttp.h.
quint64 Cutelyst::ProtoRequestHttp::websocket_payload_size |
Definition at line 102 of file protocolhttp.h.
int Cutelyst::ProtoRequestHttp::websocket_phase |
Definition at line 108 of file protocolhttp.h.
int Cutelyst::ProtoRequestHttp::websocket_start_of_frame |
Definition at line 107 of file protocolhttp.h.
bool Cutelyst::ProtoRequestHttp::websocketUpgraded |
Definition at line 111 of file protocolhttp.h.