diff options
Diffstat (limited to '')
-rw-r--r-- | src/HTTPServer/EnvelopeParser.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/HTTPServer/EnvelopeParser.h b/src/HTTPServer/EnvelopeParser.h index fe226d1f8..2fa930539 100644 --- a/src/HTTPServer/EnvelopeParser.h +++ b/src/HTTPServer/EnvelopeParser.h @@ -21,49 +21,49 @@ public: public: // Force a virtual destructor in descendants: virtual ~cCallbacks() {} - + /** Called when a full header line is parsed */ virtual void OnHeaderLine(const AString & a_Key, const AString & a_Value) = 0; } ; - - + + cEnvelopeParser(cCallbacks & a_Callbacks); - + /** Parses the incoming data. Returns the number of bytes consumed from the input. The bytes not consumed are not part of the envelope header. Returns AString::npos on error */ size_t Parse(const char * a_Data, size_t a_Size); - + /** Makes the parser forget everything parsed so far, so that it can be reused for parsing another datastream */ void Reset(void); - + /** Returns true if more input is expected for the envelope header */ bool IsInHeaders(void) const { return m_IsInHeaders; } - + /** Sets the IsInHeaders flag; used by cMultipartParser to simplify the parser initial conditions */ void SetIsInHeaders(bool a_IsInHeaders) { m_IsInHeaders = a_IsInHeaders; } - + public: /** Callbacks to call for the various events */ cCallbacks & m_Callbacks; - + /** Set to true while the parser is still parsing the envelope headers. Once set to true, the parser will not consume any more data. */ bool m_IsInHeaders; - + /** Buffer for the incoming data until it is parsed */ AString m_IncomingData; - + /** Holds the last parsed key; used for line-wrapped values */ AString m_LastKey; - + /** Holds the last parsed value; used for line-wrapped values */ AString m_LastValue; /** Notifies the callback of the key / value stored in m_LastKey / m_LastValue, then erases them */ void NotifyLast(void); - + /** Parses one line of header data. Returns true if successful */ bool ParseLine(const char * a_Data, size_t a_Size); } ; |