diff options
author | Yash Tibrewal <yashkt@google.com> | 2017-11-06 14:39:17 -0800 |
---|---|---|
committer | Yash Tibrewal <yashkt@google.com> | 2017-11-06 14:43:31 -0800 |
commit | 40422d5fa621624868280094efb2f01c2cd1352b (patch) | |
tree | cbb2baa955e11c03fa004e9e0f4f3037ba3d6150 /test/core/http | |
parent | aae4ca01a315a69fcf182d09aea1efdfcda13d48 (diff) | |
parent | e759d2ad7abdb0702970eeccc5f033ff4b2a4c7f (diff) |
Merge master
Diffstat (limited to 'test/core/http')
-rw-r--r-- | test/core/http/format_request_test.cc | 35 | ||||
-rw-r--r-- | test/core/http/httpcli_test.cc | 50 | ||||
-rw-r--r-- | test/core/http/httpscli_test.cc | 56 | ||||
-rw-r--r-- | test/core/http/parser_test.cc | 48 | ||||
-rw-r--r-- | test/core/http/request_fuzzer.cc | 4 | ||||
-rw-r--r-- | test/core/http/response_fuzzer.cc | 4 |
6 files changed, 97 insertions, 100 deletions
diff --git a/test/core/http/format_request_test.cc b/test/core/http/format_request_test.cc index b2d903458d..253e59135d 100644 --- a/test/core/http/format_request_test.cc +++ b/test/core/http/format_request_test.cc @@ -24,14 +24,13 @@ #include "test/core/util/test_config.h" static void test_format_get_request(void) { - grpc_http_header hdr = {const_cast<char *>("x-yz"), - const_cast<char *>("abc")}; + grpc_http_header hdr = {const_cast<char*>("x-yz"), const_cast<char*>("abc")}; grpc_httpcli_request req; grpc_slice slice; memset(&req, 0, sizeof(req)); - req.host = const_cast<char *>("example.com"); - req.http.path = const_cast<char *>("/index.html"); + req.host = const_cast<char*>("example.com"); + req.http.path = const_cast<char*>("/index.html"); req.http.hdr_count = 1; req.http.hdrs = &hdr; @@ -50,16 +49,15 @@ static void test_format_get_request(void) { } static void test_format_post_request(void) { - grpc_http_header hdr = {const_cast<char *>("x-yz"), - const_cast<char *>("abc")}; + grpc_http_header hdr = {const_cast<char*>("x-yz"), const_cast<char*>("abc")}; grpc_httpcli_request req; grpc_slice slice; char body_bytes[] = "fake body"; size_t body_len = 9; memset(&req, 0, sizeof(req)); - req.host = const_cast<char *>("example.com"); - req.http.path = const_cast<char *>("/index.html"); + req.host = const_cast<char*>("example.com"); + req.http.path = const_cast<char*>("/index.html"); req.http.hdr_count = 1; req.http.hdrs = &hdr; @@ -81,14 +79,13 @@ static void test_format_post_request(void) { } static void test_format_post_request_no_body(void) { - grpc_http_header hdr = {const_cast<char *>("x-yz"), - const_cast<char *>("abc")}; + grpc_http_header hdr = {const_cast<char*>("x-yz"), const_cast<char*>("abc")}; grpc_httpcli_request req; grpc_slice slice; memset(&req, 0, sizeof(req)); - req.host = const_cast<char *>("example.com"); - req.http.path = const_cast<char *>("/index.html"); + req.host = const_cast<char*>("example.com"); + req.http.path = const_cast<char*>("/index.html"); req.http.hdr_count = 1; req.http.hdrs = &hdr; @@ -113,13 +110,13 @@ static void test_format_post_request_content_type_override(void) { char body_bytes[] = "fake%20body"; size_t body_len = 11; - hdrs[0].key = const_cast<char *>("x-yz"); - hdrs[0].value = const_cast<char *>("abc"); - hdrs[1].key = const_cast<char *>("Content-Type"); - hdrs[1].value = const_cast<char *>("application/x-www-form-urlencoded"); + hdrs[0].key = const_cast<char*>("x-yz"); + hdrs[0].value = const_cast<char*>("abc"); + hdrs[1].key = const_cast<char*>("Content-Type"); + hdrs[1].value = const_cast<char*>("application/x-www-form-urlencoded"); memset(&req, 0, sizeof(req)); - req.host = const_cast<char *>("example.com"); - req.http.path = const_cast<char *>("/index.html"); + req.host = const_cast<char*>("example.com"); + req.http.path = const_cast<char*>("/index.html"); req.http.hdr_count = 2; req.http.hdrs = hdrs; @@ -140,7 +137,7 @@ static void test_format_post_request_content_type_override(void) { grpc_slice_unref(slice); } -int main(int argc, char **argv) { +int main(int argc, char** argv) { grpc_test_init(argc, argv); test_format_get_request(); diff --git a/test/core/http/httpcli_test.cc b/test/core/http/httpcli_test.cc index 925f63decc..ac3c6a2ce5 100644 --- a/test/core/http/httpcli_test.cc +++ b/test/core/http/httpcli_test.cc @@ -32,7 +32,7 @@ static int g_done = 0; static grpc_httpcli_context g_context; -static gpr_mu *g_mu; +static gpr_mu* g_mu; static grpc_polling_entity g_pops; static grpc_millis n_seconds_time(int seconds) { @@ -40,11 +40,11 @@ static grpc_millis n_seconds_time(int seconds) { grpc_timeout_seconds_to_deadline(seconds)); } -static void on_finish(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { - const char *expect = +static void on_finish(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) { + const char* expect = "<html><head><title>Hello world!</title></head>" "<body><p>This is a test</p></body></html>"; - grpc_http_response *response = static_cast<grpc_http_response *>(arg); + grpc_http_response* response = static_cast<grpc_http_response*>(arg); GPR_ASSERT(response); GPR_ASSERT(response->status == 200); GPR_ASSERT(response->body_length == strlen(expect)); @@ -59,7 +59,7 @@ static void on_finish(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { static void test_get(int port) { grpc_httpcli_request req; - char *host; + char* host; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; g_done = 0; @@ -70,12 +70,12 @@ static void test_get(int port) { memset(&req, 0, sizeof(req)); req.host = host; - req.http.path = const_cast<char *>("/get"); + req.http.path = const_cast<char*>("/get"); req.handshaker = &grpc_httpcli_plaintext; grpc_http_response response; memset(&response, 0, sizeof(response)); - grpc_resource_quota *resource_quota = grpc_resource_quota_create("test_get"); + grpc_resource_quota* resource_quota = grpc_resource_quota_create("test_get"); grpc_httpcli_get( &exec_ctx, &g_context, &g_pops, resource_quota, &req, n_seconds_time(15), GRPC_CLOSURE_CREATE(on_finish, &response, grpc_schedule_on_exec_ctx), @@ -83,7 +83,7 @@ static void test_get(int port) { grpc_resource_quota_unref_internal(&exec_ctx, resource_quota); gpr_mu_lock(g_mu); while (!g_done) { - grpc_pollset_worker *worker = NULL; + grpc_pollset_worker* worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&g_pops), @@ -99,7 +99,7 @@ static void test_get(int port) { static void test_post(int port) { grpc_httpcli_request req; - char *host; + char* host; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; g_done = 0; @@ -110,12 +110,12 @@ static void test_post(int port) { memset(&req, 0, sizeof(req)); req.host = host; - req.http.path = const_cast<char *>("/post"); + req.http.path = const_cast<char*>("/post"); req.handshaker = &grpc_httpcli_plaintext; grpc_http_response response; memset(&response, 0, sizeof(response)); - grpc_resource_quota *resource_quota = grpc_resource_quota_create("test_post"); + grpc_resource_quota* resource_quota = grpc_resource_quota_create("test_post"); grpc_httpcli_post( &exec_ctx, &g_context, &g_pops, resource_quota, &req, "hello", 5, n_seconds_time(15), @@ -124,7 +124,7 @@ static void test_post(int port) { grpc_resource_quota_unref_internal(&exec_ctx, resource_quota); gpr_mu_lock(g_mu); while (!g_done) { - grpc_pollset_worker *worker = NULL; + grpc_pollset_worker* worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&g_pops), @@ -138,24 +138,24 @@ static void test_post(int port) { grpc_http_response_destroy(&response); } -static void destroy_pops(grpc_exec_ctx *exec_ctx, void *p, grpc_error *error) { +static void destroy_pops(grpc_exec_ctx* exec_ctx, void* p, grpc_error* error) { grpc_pollset_destroy(exec_ctx, grpc_polling_entity_pollset( - static_cast<grpc_polling_entity *>(p))); + static_cast<grpc_polling_entity*>(p))); } -int main(int argc, char **argv) { +int main(int argc, char** argv) { grpc_closure destroyed; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - gpr_subprocess *server; - char *me = argv[0]; - char *lslash = strrchr(me, '/'); - char *args[4]; + gpr_subprocess* server; + char* me = argv[0]; + char* lslash = strrchr(me, '/'); + char* args[4]; int port = grpc_pick_unused_port_or_die(); int arg_shift = 0; /* figure out where we are */ - char *root; + char* root; if (lslash) { - root = static_cast<char *>(gpr_malloc((size_t)(lslash - me + 1))); + root = static_cast<char*>(gpr_malloc((size_t)(lslash - me + 1))); memcpy(root, me, (size_t)(lslash - me)); root[lslash - me] = 0; } else { @@ -172,9 +172,9 @@ int main(int argc, char **argv) { } /* start the server */ - args[1 + arg_shift] = const_cast<char *>("--port"); + args[1 + arg_shift] = const_cast<char*>("--port"); gpr_asprintf(&args[2 + arg_shift], "%d", port); - server = gpr_subprocess_create(3 + arg_shift, (const char **)args); + server = gpr_subprocess_create(3 + arg_shift, (const char**)args); GPR_ASSERT(server); gpr_free(args[0]); if (arg_shift) gpr_free(args[1]); @@ -187,8 +187,8 @@ int main(int argc, char **argv) { grpc_test_init(argc, argv); grpc_init(); grpc_httpcli_context_init(&g_context); - grpc_pollset *pollset = - static_cast<grpc_pollset *>(gpr_zalloc(grpc_pollset_size())); + grpc_pollset* pollset = + static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size())); grpc_pollset_init(pollset, &g_mu); g_pops = grpc_polling_entity_create_from_pollset(pollset); diff --git a/test/core/http/httpscli_test.cc b/test/core/http/httpscli_test.cc index 179b3a720b..bf851b1175 100644 --- a/test/core/http/httpscli_test.cc +++ b/test/core/http/httpscli_test.cc @@ -32,7 +32,7 @@ static int g_done = 0; static grpc_httpcli_context g_context; -static gpr_mu *g_mu; +static gpr_mu* g_mu; static grpc_polling_entity g_pops; static grpc_millis n_seconds_time(int seconds) { @@ -40,11 +40,11 @@ static grpc_millis n_seconds_time(int seconds) { grpc_timeout_seconds_to_deadline(seconds)); } -static void on_finish(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { - const char *expect = +static void on_finish(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) { + const char* expect = "<html><head><title>Hello world!</title></head>" "<body><p>This is a test</p></body></html>"; - grpc_http_response *response = static_cast<grpc_http_response *>(arg); + grpc_http_response* response = static_cast<grpc_http_response*>(arg); GPR_ASSERT(response); GPR_ASSERT(response->status == 200); GPR_ASSERT(response->body_length == strlen(expect)); @@ -59,7 +59,7 @@ static void on_finish(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { static void test_get(int port) { grpc_httpcli_request req; - char *host; + char* host; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; g_done = 0; @@ -70,13 +70,13 @@ static void test_get(int port) { memset(&req, 0, sizeof(req)); req.host = host; - req.ssl_host_override = const_cast<char *>("foo.test.google.fr"); - req.http.path = const_cast<char *>("/get"); + req.ssl_host_override = const_cast<char*>("foo.test.google.fr"); + req.http.path = const_cast<char*>("/get"); req.handshaker = &grpc_httpcli_ssl; grpc_http_response response; memset(&response, 0, sizeof(response)); - grpc_resource_quota *resource_quota = grpc_resource_quota_create("test_get"); + grpc_resource_quota* resource_quota = grpc_resource_quota_create("test_get"); grpc_httpcli_get( &exec_ctx, &g_context, &g_pops, resource_quota, &req, n_seconds_time(15), GRPC_CLOSURE_CREATE(on_finish, &response, grpc_schedule_on_exec_ctx), @@ -84,7 +84,7 @@ static void test_get(int port) { grpc_resource_quota_unref_internal(&exec_ctx, resource_quota); gpr_mu_lock(g_mu); while (!g_done) { - grpc_pollset_worker *worker = NULL; + grpc_pollset_worker* worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&g_pops), @@ -100,7 +100,7 @@ static void test_get(int port) { static void test_post(int port) { grpc_httpcli_request req; - char *host; + char* host; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; g_done = 0; @@ -111,13 +111,13 @@ static void test_post(int port) { memset(&req, 0, sizeof(req)); req.host = host; - req.ssl_host_override = const_cast<char *>("foo.test.google.fr"); - req.http.path = const_cast<char *>("/post"); + req.ssl_host_override = const_cast<char*>("foo.test.google.fr"); + req.http.path = const_cast<char*>("/post"); req.handshaker = &grpc_httpcli_ssl; grpc_http_response response; memset(&response, 0, sizeof(response)); - grpc_resource_quota *resource_quota = grpc_resource_quota_create("test_post"); + grpc_resource_quota* resource_quota = grpc_resource_quota_create("test_post"); grpc_httpcli_post( &exec_ctx, &g_context, &g_pops, resource_quota, &req, "hello", 5, n_seconds_time(15), @@ -126,7 +126,7 @@ static void test_post(int port) { grpc_resource_quota_unref_internal(&exec_ctx, resource_quota); gpr_mu_lock(g_mu); while (!g_done) { - grpc_pollset_worker *worker = NULL; + grpc_pollset_worker* worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&g_pops), @@ -140,24 +140,24 @@ static void test_post(int port) { grpc_http_response_destroy(&response); } -static void destroy_pops(grpc_exec_ctx *exec_ctx, void *p, grpc_error *error) { +static void destroy_pops(grpc_exec_ctx* exec_ctx, void* p, grpc_error* error) { grpc_pollset_destroy(exec_ctx, grpc_polling_entity_pollset( - static_cast<grpc_polling_entity *>(p))); + static_cast<grpc_polling_entity*>(p))); } -int main(int argc, char **argv) { +int main(int argc, char** argv) { grpc_closure destroyed; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - gpr_subprocess *server; - char *me = argv[0]; - char *lslash = strrchr(me, '/'); - char *args[5]; + gpr_subprocess* server; + char* me = argv[0]; + char* lslash = strrchr(me, '/'); + char* args[5]; int port = grpc_pick_unused_port_or_die(); int arg_shift = 0; /* figure out where we are */ - char *root; + char* root; if (lslash) { - root = static_cast<char *>(gpr_malloc((size_t)(lslash - me + 1))); + root = static_cast<char*>(gpr_malloc((size_t)(lslash - me + 1))); memcpy(root, me, (size_t)(lslash - me)); root[lslash - me] = 0; } else { @@ -174,10 +174,10 @@ int main(int argc, char **argv) { } /* start the server */ - args[1 + arg_shift] = const_cast<char *>("--port"); + args[1 + arg_shift] = const_cast<char*>("--port"); gpr_asprintf(&args[2 + arg_shift], "%d", port); - args[3 + arg_shift] = const_cast<char *>("--ssl"); - server = gpr_subprocess_create(4 + arg_shift, (const char **)args); + args[3 + arg_shift] = const_cast<char*>("--ssl"); + server = gpr_subprocess_create(4 + arg_shift, (const char**)args); GPR_ASSERT(server); gpr_free(args[0]); if (arg_shift) gpr_free(args[1]); @@ -190,8 +190,8 @@ int main(int argc, char **argv) { grpc_test_init(argc, argv); grpc_init(); grpc_httpcli_context_init(&g_context); - grpc_pollset *pollset = - static_cast<grpc_pollset *>(gpr_zalloc(grpc_pollset_size())); + grpc_pollset* pollset = + static_cast<grpc_pollset*>(gpr_zalloc(grpc_pollset_size())); grpc_pollset_init(pollset, &g_mu); g_pops = grpc_polling_entity_create_from_pollset(pollset); diff --git a/test/core/http/parser_test.cc b/test/core/http/parser_test.cc index 9eff49122c..d0d2559cdf 100644 --- a/test/core/http/parser_test.cc +++ b/test/core/http/parser_test.cc @@ -29,16 +29,16 @@ #include "test/core/util/test_config.h" static void test_request_succeeds(grpc_slice_split_mode split_mode, - const char *request_text, - const char *expect_method, + const char* request_text, + const char* expect_method, grpc_http_version expect_version, - const char *expect_path, - const char *expect_body, ...) { + const char* expect_path, + const char* expect_body, ...) { grpc_http_parser parser; grpc_slice input_slice = grpc_slice_from_copied_string(request_text); size_t num_slices; size_t i; - grpc_slice *slices; + grpc_slice* slices; va_list args; grpc_http_request request; memset(&request, 0, sizeof(request)); @@ -70,12 +70,12 @@ static void test_request_succeeds(grpc_slice_split_mode split_mode, va_start(args, expect_body); i = 0; for (;;) { - char *expect_key; - char *expect_value; - expect_key = va_arg(args, char *); + char* expect_key; + char* expect_value; + expect_key = va_arg(args, char*); if (!expect_key) break; GPR_ASSERT(i < request.hdr_count); - expect_value = va_arg(args, char *); + expect_value = va_arg(args, char*); GPR_ASSERT(expect_value); GPR_ASSERT(0 == strcmp(expect_key, request.hdrs[i].key)); GPR_ASSERT(0 == strcmp(expect_value, request.hdrs[i].value)); @@ -90,13 +90,13 @@ static void test_request_succeeds(grpc_slice_split_mode split_mode, } static void test_succeeds(grpc_slice_split_mode split_mode, - const char *response_text, int expect_status, - const char *expect_body, ...) { + const char* response_text, int expect_status, + const char* expect_body, ...) { grpc_http_parser parser; grpc_slice input_slice = grpc_slice_from_copied_string(response_text); size_t num_slices; size_t i; - grpc_slice *slices; + grpc_slice* slices; va_list args; grpc_http_response response; memset(&response, 0, sizeof(response)); @@ -125,12 +125,12 @@ static void test_succeeds(grpc_slice_split_mode split_mode, va_start(args, expect_body); i = 0; for (;;) { - char *expect_key; - char *expect_value; - expect_key = va_arg(args, char *); + char* expect_key; + char* expect_value; + expect_key = va_arg(args, char*); if (!expect_key) break; GPR_ASSERT(i < response.hdr_count); - expect_value = va_arg(args, char *); + expect_value = va_arg(args, char*); GPR_ASSERT(expect_value); GPR_ASSERT(0 == strcmp(expect_key, response.hdrs[i].key)); GPR_ASSERT(0 == strcmp(expect_value, response.hdrs[i].value)); @@ -145,13 +145,13 @@ static void test_succeeds(grpc_slice_split_mode split_mode, } static void test_fails(grpc_slice_split_mode split_mode, - const char *response_text) { + const char* response_text) { grpc_http_parser parser; grpc_slice input_slice = grpc_slice_from_copied_string(response_text); size_t num_slices; size_t i; - grpc_slice *slices; - grpc_error *error = GRPC_ERROR_NONE; + grpc_slice* slices; + grpc_error* error = GRPC_ERROR_NONE; grpc_http_response response; memset(&response, 0, sizeof(response)); @@ -178,13 +178,13 @@ static void test_fails(grpc_slice_split_mode split_mode, } static void test_request_fails(grpc_slice_split_mode split_mode, - const char *request_text) { + const char* request_text) { grpc_http_parser parser; grpc_slice input_slice = grpc_slice_from_copied_string(request_text); size_t num_slices; size_t i; - grpc_slice *slices; - grpc_error *error = GRPC_ERROR_NONE; + grpc_slice* slices; + grpc_error* error = GRPC_ERROR_NONE; grpc_http_request request; memset(&request, 0, sizeof(request)); @@ -210,7 +210,7 @@ static void test_request_fails(grpc_slice_split_mode split_mode, gpr_free(slices); } -int main(int argc, char **argv) { +int main(int argc, char** argv) { size_t i; const grpc_slice_split_mode split_modes[] = {GRPC_SLICE_SPLIT_IDENTITY, GRPC_SLICE_SPLIT_ONE_BYTE}; @@ -291,7 +291,7 @@ int main(int argc, char **argv) { test_request_fails(split_modes[i], "GET / HTTP/1.0\n"); tmp1 = - static_cast<char *>(gpr_malloc(2 * GRPC_HTTP_PARSER_MAX_HEADER_LENGTH)); + static_cast<char*>(gpr_malloc(2 * GRPC_HTTP_PARSER_MAX_HEADER_LENGTH)); memset(tmp1, 'a', 2 * GRPC_HTTP_PARSER_MAX_HEADER_LENGTH - 1); tmp1[2 * GRPC_HTTP_PARSER_MAX_HEADER_LENGTH - 1] = 0; gpr_asprintf(&tmp2, "HTTP/1.0 200 OK\r\nxyz: %s\r\n\r\n", tmp1); diff --git a/test/core/http/request_fuzzer.cc b/test/core/http/request_fuzzer.cc index 8677fd213a..dfdb5792ac 100644 --- a/test/core/http/request_fuzzer.cc +++ b/test/core/http/request_fuzzer.cc @@ -27,12 +27,12 @@ bool squelch = true; bool leak_check = true; -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_http_parser parser; grpc_http_request request; memset(&request, 0, sizeof(request)); grpc_http_parser_init(&parser, GRPC_HTTP_REQUEST, &request); - grpc_slice slice = grpc_slice_from_copied_buffer((const char *)data, size); + grpc_slice slice = grpc_slice_from_copied_buffer((const char*)data, size); GRPC_ERROR_UNREF(grpc_http_parser_parse(&parser, slice, NULL)); GRPC_ERROR_UNREF(grpc_http_parser_eof(&parser)); grpc_slice_unref(slice); diff --git a/test/core/http/response_fuzzer.cc b/test/core/http/response_fuzzer.cc index e84353f45c..89ee676b49 100644 --- a/test/core/http/response_fuzzer.cc +++ b/test/core/http/response_fuzzer.cc @@ -26,12 +26,12 @@ bool squelch = true; bool leak_check = true; -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_http_parser parser; grpc_http_response response; memset(&response, 0, sizeof(response)); grpc_http_parser_init(&parser, GRPC_HTTP_RESPONSE, &response); - grpc_slice slice = grpc_slice_from_copied_buffer((const char *)data, size); + grpc_slice slice = grpc_slice_from_copied_buffer((const char*)data, size); GRPC_ERROR_UNREF(grpc_http_parser_parse(&parser, slice, NULL)); GRPC_ERROR_UNREF(grpc_http_parser_eof(&parser)); grpc_slice_unref(slice); |