|
|
|
@ -208,14 +208,14 @@ static void hc_mutate_op(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, |
|
|
|
|
call_data *calld = elem->call_data; |
|
|
|
|
channel_data *channeld = elem->channel_data; |
|
|
|
|
|
|
|
|
|
if (op->send_initial_metadata != NULL) { |
|
|
|
|
/* Decide which HTTP VERB to use. We use GET if the request is marked
|
|
|
|
|
cacheable, and the operation contains both initial metadata and send message, |
|
|
|
|
and the payload is below the size threshold, and all the data |
|
|
|
|
cacheable, and the operation contains both initial metadata and send |
|
|
|
|
message, and the payload is below the size threshold, and all the data |
|
|
|
|
for this request is immediately available. */ |
|
|
|
|
grpc_mdelem *method = GRPC_MDELEM_METHOD_POST; |
|
|
|
|
calld->send_message_blocked = false; |
|
|
|
|
if (op->send_initial_metadata != NULL && |
|
|
|
|
(op->send_initial_metadata_flags & |
|
|
|
|
if ((op->send_initial_metadata_flags & |
|
|
|
|
GRPC_INITIAL_METADATA_CACHEABLE_REQUEST) && |
|
|
|
|
op->send_message != NULL && |
|
|
|
|
op->send_message->length < channeld->max_payload_size_for_get) { |
|
|
|
@ -225,6 +225,7 @@ static void hc_mutate_op(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, |
|
|
|
|
GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST) { |
|
|
|
|
method = GRPC_MDELEM_METHOD_PUT; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Attempt to read the data from send_message and create a header field. */ |
|
|
|
|
if (method == GRPC_MDELEM_METHOD_GET) { |
|
|
|
|
/* allocate memory to hold the entire payload */ |
|
|
|
@ -258,7 +259,6 @@ static void hc_mutate_op(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (op->send_initial_metadata != NULL) { |
|
|
|
|
grpc_metadata_batch_filter(op->send_initial_metadata, client_strip_filter, |
|
|
|
|
elem); |
|
|
|
|
/* Send : prefixed headers, which have to be before any application
|
|
|
|
|