e667602217af55105d44d8d9b75f09a8a9ac2f14Timo Sirainen /* Strictly adhere to the HTTP protocol specification */
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainenhttp_response_parser_init(struct istream *input,
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainen enum http_response_parse_flags flags) ATTR_NULL(2);
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainenvoid http_response_parser_deinit(struct http_response_parser **_parser);
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainenuoff_t http_response_parser_get_last_offset(struct http_response_parser *parser);
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainenint http_response_parse_next(struct http_response_parser *parser,
bcd8a160ce32e5afe3566793b5a144028063b2fbTimo Sirainen struct http_response *response, const char **error_r);