| 6242 | } |
| 6243 | |
| 6244 | void |
| 6245 | HttpSM::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 | |
| 6271 | void |
| 6272 | HttpSM::do_drain_request_body(HTTPHdr &response) |
nothing calls this directly
no test coverage detected