Lines Matching defs:_parser

52 void http_response_parser_deinit(struct http_response_parser **_parser)
54 struct http_response_parser *parser = *_parser;
56 *_parser = NULL;
146 struct http_message_parser *_parser = &parser->parser;
158 parser->response_offset = _parser->input->v_offset +
159 (_parser->cur - _parser->begin);
162 if ((ret=http_message_parse_version(_parser)) <= 0) {
164 _parser->error = t_strdup_printf(
166 _reply_sanitize(_parser));
170 if (_parser->cur == _parser->end)
174 if (*_parser->cur != ' ') {
175 _parser->error = t_strdup_printf
177 _reply_sanitize(_parser));
180 _parser->cur++;
182 if (_parser->cur >= _parser->end)
188 _parser->error = "Invalid HTTP status code in response";
192 if (_parser->cur == _parser->end)
196 if (*_parser->cur != ' ') {
197 _parser->error = t_strdup_printf
199 _reply_sanitize(_parser));
202 _parser->cur++;
204 if (_parser->cur >= _parser->end)
213 if (_parser->cur == _parser->end)
217 if (*_parser->cur == '\r')
218 _parser->cur++;
220 if (_parser->cur == _parser->end)
224 if (*_parser->cur != '\n') {
225 _parser->error = t_strdup_printf
227 _reply_sanitize(_parser));
230 _parser->cur++;
245 struct http_message_parser *_parser = &parser->parser;
250 while ((ret = i_stream_read_bytes(_parser->input, &begin, &size,
252 _parser->begin = _parser->cur = begin;
253 _parser->end = _parser->begin + size;
258 i_stream_skip(_parser->input, _parser->cur - begin);
261 old_bytes = i_stream_get_data_size(_parser->input);
265 _parser->error = "HTTP status line is too long";
269 if (_parser->input->eof &&
272 _parser->error = t_strdup_printf("Stream error: %s",
273 i_stream_get_error(_parser->input));