MCPcopy Create free account
hub / github.com/apache/trafficserver / setup_transform_to_server_transfer

Method setup_transform_to_server_transfer

src/proxy/http/HttpSM.cc:6244–6269  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6242}
6243
6244void
6245HttpSM::setup_transform_to_server_transfer()
6246{
6247 ink_assert(post_transform_info.vc != nullptr);
6248 ink_assert(post_transform_info.entry->vc == post_transform_info.vc);
6249
6250 int64_t nbytes = t_state.hdr_info.transform_request_cl;
6251 int64_t alloc_index = buffer_size_to_index(nbytes, t_state.http_config_param->max_payload_iobuf_index);
6252 MIOBuffer *post_buffer = new_MIOBuffer(alloc_index);
6253 IOBufferReader *buf_start = post_buffer->alloc_reader();
6254
6255 HTTP_SM_SET_DEFAULT_HANDLER(&HttpSM::tunnel_handler_post);
6256
6257 HttpTunnelConsumer *c = tunnel.get_consumer(post_transform_info.vc);
6258
6259 HttpTunnelProducer *p = tunnel.add_producer(post_transform_info.vc, nbytes, buf_start, &HttpSM::tunnel_handler_transform_read,
6260 HT_TRANSFORM, "post transform");
6261 tunnel.chain(c, p);
6262 post_transform_info.entry->in_tunnel = true;
6263
6264 tunnel.add_consumer(server_entry->vc, post_transform_info.vc, &HttpSM::tunnel_handler_post_server, HT_HTTP_SERVER,
6265 "http server post");
6266 server_entry->in_tunnel = true;
6267
6268 tunnel.tunnel_run(p);
6269}
6270
6271void
6272HttpSM::do_drain_request_body(HTTPHdr &response)

Callers

nothing calls this directly

Calls 7

buffer_size_to_indexFunction · 0.85
alloc_readerMethod · 0.80
get_consumerMethod · 0.80
add_producerMethod · 0.80
chainMethod · 0.80
add_consumerMethod · 0.80
tunnel_runMethod · 0.80

Tested by

no test coverage detected