Lines Matching refs:parser
176 static int on_url(struct http_parser *parser, const char *at, size_t length) in on_url() argument
178 struct http_request *req = CONTAINER_OF(parser, in on_url()
180 internal.parser); in on_url()
185 req->internal.response.http_cb->on_url(parser, at, length); in on_url()
191 static int on_status(struct http_parser *parser, const char *at, size_t length) in on_status() argument
193 struct http_request *req = CONTAINER_OF(parser, in on_status()
195 internal.parser); in on_status()
202 (uint16_t)parser->status_code; in on_status()
204 NET_DBG("HTTP response status %d %s", parser->status_code, in on_status()
209 req->internal.response.http_cb->on_status(parser, at, length); in on_status()
215 static int on_header_field(struct http_parser *parser, const char *at, in on_header_field() argument
218 struct http_request *req = CONTAINER_OF(parser, in on_header_field()
220 internal.parser); in on_header_field()
238 req->internal.response.http_cb->on_header_field(parser, at, in on_header_field()
247 static int on_header_value(struct http_parser *parser, const char *at, in on_header_value() argument
250 struct http_request *req = CONTAINER_OF(parser, in on_header_value()
252 internal.parser); in on_header_value()
274 req->internal.response.content_range.start = parser->content_range.start; in on_header_value()
275 req->internal.response.content_range.end = parser->content_range.end; in on_header_value()
276 req->internal.response.content_range.total = parser->content_range.total; in on_header_value()
282 req->internal.response.http_cb->on_header_value(parser, at, in on_header_value()
291 static int on_body(struct http_parser *parser, const char *at, size_t length) in on_body() argument
293 struct http_request *req = CONTAINER_OF(parser, in on_body()
295 internal.parser); in on_body()
305 req->internal.response.http_cb->on_body(parser, at, length); in on_body()
320 static int on_headers_complete(struct http_parser *parser) in on_headers_complete() argument
322 struct http_request *req = CONTAINER_OF(parser, in on_headers_complete()
324 internal.parser); in on_headers_complete()
328 req->internal.response.http_cb->on_headers_complete(parser); in on_headers_complete()
331 if (parser->status_code == HTTP_101_SWITCHING_PROTOCOLS) { in on_headers_complete()
336 if (parser->status_code >= 500 && parser->status_code < 600) { in on_headers_complete()
337 NET_DBG("Status %d, skipping body", parser->status_code); in on_headers_complete()
352 static int on_message_begin(struct http_parser *parser) in on_message_begin() argument
354 struct http_request *req = CONTAINER_OF(parser, in on_message_begin()
356 internal.parser); in on_message_begin()
360 req->internal.response.http_cb->on_message_begin(parser); in on_message_begin()
369 static int on_message_complete(struct http_parser *parser) in on_message_complete() argument
371 struct http_request *req = CONTAINER_OF(parser, in on_message_complete()
373 internal.parser); in on_message_complete()
377 req->internal.response.http_cb->on_message_complete(parser); in on_message_complete()
388 static int on_chunk_header(struct http_parser *parser) in on_chunk_header() argument
390 struct http_request *req = CONTAINER_OF(parser, in on_chunk_header()
392 internal.parser); in on_chunk_header()
396 req->internal.response.http_cb->on_chunk_header(parser); in on_chunk_header()
402 static int on_chunk_complete(struct http_parser *parser) in on_chunk_complete() argument
404 struct http_request *req = CONTAINER_OF(parser, in on_chunk_complete()
406 internal.parser); in on_chunk_complete()
410 req->internal.response.http_cb->on_chunk_complete(parser); in on_chunk_complete()
416 static void http_client_init_parser(struct http_parser *parser, in http_client_init_parser() argument
419 http_parser_init(parser, HTTP_RESPONSE); in http_client_init_parser()
532 &req->internal.parser, &req->internal.parser_settings, in http_wait_data()
772 http_client_init_parser(&req->internal.parser, in http_client_req()