int HttpSM::state_request_wait_for_transform_read(int event, void* data) We've done a successful transform open and issued a do_io_write to the transform. We are now ready for the transform to tell us it is now ready to be read from and it done modifying the server request header
| 1157 | // server request header |
| 1158 | // |
| 1159 | int |
| 1160 | HttpSM::state_request_wait_for_transform_read(int event, void *data) |
| 1161 | { |
| 1162 | STATE_ENTER(&HttpSM::state_request_wait_for_transform_read, event); |
| 1163 | int64_t size; |
| 1164 | |
| 1165 | switch (event) { |
| 1166 | case TRANSFORM_READ_READY: |
| 1167 | size = *(static_cast<int64_t *>(data)); |
| 1168 | if (size != INT64_MAX && size >= 0) { |
| 1169 | // We got a content length so update our internal |
| 1170 | // data as well as fix up the request header |
| 1171 | t_state.hdr_info.transform_request_cl = size; |
| 1172 | t_state.hdr_info.server_request.value_set_int64(MIME_FIELD_CONTENT_LENGTH, MIME_LEN_CONTENT_LENGTH, size); |
| 1173 | setup_server_send_request_api(); |
| 1174 | break; |
| 1175 | } else { |
| 1176 | // No content length from the post. This is a no go |
| 1177 | // since http spec requires content length when |
| 1178 | // sending a request message body. Change the event |
| 1179 | // to an error and fall through |
| 1180 | event = VC_EVENT_ERROR; |
| 1181 | Log::error("Request transformation failed to set content length"); |
| 1182 | } |
| 1183 | // FALLTHROUGH |
| 1184 | default: |
| 1185 | state_common_wait_for_transform_read(&post_transform_info, &HttpSM::tunnel_handler_post, event, data); |
| 1186 | break; |
| 1187 | } |
| 1188 | |
| 1189 | return 0; |
| 1190 | } |
| 1191 | |
| 1192 | // int HttpSM::state_response_wait_for_transform_read(int event, void* data) |
| 1193 | // |
nothing calls this directly
no test coverage detected