61 std::string_view
Execute(std::string_view in) {
70 unsigned int GetMajor()
const {
return m_parser.http_major; }
75 unsigned int GetMinor()
const {
return m_parser.http_minor; }
94 bool HasError()
const {
return m_parser.http_errno != HPE_OK; }
100 return static_cast<http_errno>(m_parser.http_errno);
140 std::string_view
GetUrl()
const {
return m_urlBuf.str(); }
215 size_t m_maxLength = 1024;
216 enum { kStart, kUrl, kStatus, kField, kValue } m_state = kStart;
221 bool m_aborted =
false;
This file defines the SmallString class.
bool HasError() const
Determine if an error occurred.
Definition HttpParser.hpp:94
Type
Definition HttpParser.hpp:24
@ kBoth
Definition HttpParser.hpp:27
@ kRequest
Definition HttpParser.hpp:25
@ kResponse
Definition HttpParser.hpp:26
std::string_view Execute(std::string_view in)
Executes the parser.
Definition HttpParser.hpp:61
wpi::util::sig::Signal< std::string_view, bool > body
Body data callback.
Definition HttpParser.hpp:187
wpi::util::sig::Signal messageBegin
Message begin callback.
Definition HttpParser.hpp:145
wpi::util::sig::Signal< uint64_t > chunkHeader
Chunk header callback.
Definition HttpParser.hpp:204
static uint32_t GetParserVersion()
Returns the library version.
void Pause(bool paused)
Pause the parser.
Definition HttpParser.hpp:130
wpi::util::sig::Signal< std::string_view, std::string_view > header
Header field callback.
Definition HttpParser.hpp:167
bool IsUpgrade() const
Determine if an upgrade header was present and the parser has exited because of that.
Definition HttpParser.hpp:116
wpi::util::sig::Signal< bool > headersComplete
Headers complete callback.
Definition HttpParser.hpp:177
std::string_view GetUrl() const
Get URL.
Definition HttpParser.hpp:140
bool ShouldKeepAlive() const
If this returns false in the headersComplete or messageComplete callback, then this should be the las...
Definition HttpParser.hpp:124
void Abort()
Abort the parse.
Definition HttpParser.hpp:108
void Reset(Type type)
Reset the parser to initial state.
unsigned int GetMajor() const
Get HTTP major version.
Definition HttpParser.hpp:70
HttpParser(Type type)
Constructor.
bool IsBodyFinal() const
Checks if this is the final chunk of the body.
Definition HttpParser.hpp:135
wpi::util::sig::Signal< std::string_view > status
Status callback.
Definition HttpParser.hpp:160
unsigned int GetStatusCode() const
Get HTTP status code.
Definition HttpParser.hpp:81
http_method GetMethod() const
Get HTTP method.
Definition HttpParser.hpp:86
wpi::util::sig::Signal chunkComplete
Chunk complete callback.
Definition HttpParser.hpp:209
wpi::util::sig::Signal< std::string_view > url
URL callback.
Definition HttpParser.hpp:152
void SetMaxLength(size_t len)
Set the maximum accepted length for URLs, field names, and field values.
Definition HttpParser.hpp:54
http_errno GetError() const
Get error number.
Definition HttpParser.hpp:99
wpi::util::sig::Signal< bool > messageComplete
Headers complete callback.
Definition HttpParser.hpp:197
unsigned int GetMinor() const
Get HTTP minor version.
Definition HttpParser.hpp:75
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
Definition SmallString.hpp:27
Definition raw_socket_ostream.hpp:9
size_t http_parser_execute(http_parser *parser, const http_parser_settings *settings, const char *data, size_t len)
http_method
Definition http_parser.hpp:194
http_errno
Definition http_parser.hpp:269
int http_should_keep_alive(const http_parser *parser)
int http_body_is_final(const http_parser *parser)
void http_parser_pause(http_parser *parser, int paused)
@ HTTP_RESPONSE
Definition http_parser.hpp:201
@ HTTP_REQUEST
Definition http_parser.hpp:201
@ HTTP_BOTH
Definition http_parser.hpp:201
SignalBase< detail::NullMutex, T... > Signal
Specialization of SignalBase to be used in single threaded contexts.
Definition Signal.h:809
Definition http_parser.hpp:310
Definition http_parser.hpp:279