#include <grpc/support/port_platform.h>
#include "src/core/lib/http/parser.h"
#include <string.h>
#include <algorithm>
#include "absl/status/status.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
grpc_core::TraceFlag grpc_http1_trace(false, "http1");
static char* buf2str(void* buffer, size_t length) { … }
static grpc_error_handle handle_response_line(grpc_http_parser* parser) { … }
static grpc_error_handle handle_request_line(grpc_http_parser* parser) { … }
static grpc_error_handle handle_first_line(grpc_http_parser* parser) { … }
static grpc_error_handle add_header(grpc_http_parser* parser) { … }
static grpc_error_handle finish_line(grpc_http_parser* parser,
bool* found_body_start) { … }
static grpc_error_handle addbyte_body(grpc_http_parser* parser, uint8_t byte) { … }
static bool check_line(grpc_http_parser* parser) { … }
static grpc_error_handle addbyte(grpc_http_parser* parser, uint8_t byte,
bool* found_body_start) { … }
void grpc_http_parser_init(grpc_http_parser* parser, grpc_http_type type,
void* request_or_response) { … }
void grpc_http_parser_destroy(grpc_http_parser* ) { … }
void grpc_http_request_destroy(grpc_http_request* request) { … }
void grpc_http_response_destroy(grpc_http_response* response) { … }
grpc_error_handle grpc_http_parser_parse(grpc_http_parser* parser,
const grpc_slice& slice,
size_t* start_of_body) { … }
grpc_error_handle grpc_http_parser_eof(grpc_http_parser* parser) { … }