public:
typedef SBuf::size_type size_type;
- Parser() : parseStatusCode(Http::scNone), parsingStage_(HTTP_PARSE_NONE), hackExpectsMime_(false) {}
virtual ~Parser() {}
/// Set this parser back to a default state.
* Http::scOkay indicates no error,
* other codes represent a parse error.
*/
- Http::StatusCode parseStatusCode;
+ Http::StatusCode parseStatusCode = Http::scNone;
/// the characters which are to be considered valid whitespace
/// (WSP / BSP / OWS)
SBuf buf_;
/// what stage the parser is currently up to
- ParseState parsingStage_;
+ ParseState parsingStage_ = HTTP_PARSE_NONE;
/// what protocol label has been found in the first line (if any)
AnyP::ProtocolVersion msgProtocol_;
SBuf mimeHeaderBlock_;
/// Whether the invalid HTTP as HTTP/0.9 hack expects a mime header block
- bool hackExpectsMime_;
+ bool hackExpectsMime_ = false;
private:
void cleanMimePrefix();
return Config.onoff.relaxed_header_parser < 0 ? DBG_IMPORTANT : 5;
}
-Http::One::RequestParser::RequestParser(bool preserveParsed) :
- Parser(),
- preserveParsed_(preserveParsed)
-{}
-
Http1::Parser::size_type
Http::One::RequestParser::firstLineSize() const
{
class RequestParser : public Http1::Parser
{
public:
- explicit RequestParser(bool preserveParsed = false);
+ RequestParser() = default;
+ RequestParser(bool preserveParsed) { preserveParsed_ = preserveParsed; }
+ RequestParser(const RequestParser &) = default;
+ RequestParser &operator =(const RequestParser &) = default;
+ RequestParser(RequestParser &&) = default;
+ RequestParser &operator =(RequestParser &&) = default;
virtual ~RequestParser() {}
/* Http::One::Parser API */
/// all parsed bytes (i.e., input prefix consumed by parse() calls)
/// meaningless unless preserveParsed_ is true
SBuf parsed_;
- bool preserveParsed_; ///< whether to accumulate parsed bytes (in parsed_)
+ bool preserveParsed_ = false; ///< whether to accumulate parsed bytes (in parsed_)
};
} // namespace One
class ResponseParser : public Http1::Parser
{
public:
- ResponseParser() : Parser(), completedStatus_(false), statusCode_(Http::scNone) {}
virtual ~ResponseParser() {}
/* Http::One::Parser API */
/// Whether we found the status code yet.
/// We cannot rely on status value because server may send "000".
- bool completedStatus_;
+ bool completedStatus_ = false;
/// HTTP/1 status-line status code
- Http::StatusCode statusCode_;
+ Http::StatusCode statusCode_ = Http::scNone;
/// HTTP/1 status-line reason phrase
SBuf reasonPhrase_;