| 1060 | } |
| 1061 | |
| 1062 | static int |
| 1063 | transform_handler(TSCont contp, TSEvent event, void *edata) |
| 1064 | { |
| 1065 | /* Check to see if the transformation has been closed by a call to TSVConnClose. */ |
| 1066 | if (TSVConnClosedGet(contp)) { |
| 1067 | Dbg(dbg_ctl, "transformation closed"); |
| 1068 | transform_destroy(contp); |
| 1069 | return 0; |
| 1070 | } else { |
| 1071 | TransformData *data; |
| 1072 | |
| 1073 | data = static_cast<TransformData *>(TSContDataGet(contp)); |
| 1074 | if (data == nullptr) { |
| 1075 | TSError("[%s] Didn't get Continuation's Data, ignoring event", PLUGIN_NAME); |
| 1076 | return 0; |
| 1077 | } |
| 1078 | Dbg(dbg_ctl, "transform handler event [%d], data->state = [%d]", event, static_cast<int>(data->state)); |
| 1079 | |
| 1080 | switch (data->state) { |
| 1081 | case State::BEGIN: |
| 1082 | transform_connect(contp, data); |
| 1083 | break; |
| 1084 | case State::CONNECT: |
| 1085 | transform_connect_event(contp, data, event, edata); |
| 1086 | break; |
| 1087 | case State::WRITE_HEADER: |
| 1088 | transform_write_header_event(contp, data, event, edata); |
| 1089 | break; |
| 1090 | case State::WRITE_BODY: |
| 1091 | transform_write_event(contp, data, event, edata); |
| 1092 | break; |
| 1093 | case State::READ_ICAP_HEADER: |
| 1094 | transform_read_icap_header_event(contp, data, event, edata); |
| 1095 | break; |
| 1096 | case State::READ_HTTP_HEADER: |
| 1097 | transform_read_http_header_event(contp, data, event, edata); |
| 1098 | break; |
| 1099 | case State::READ_HTTP_BODY: |
| 1100 | transform_read_http_body_event(contp, data, event, edata); |
| 1101 | break; |
| 1102 | case State::SEND_ERROR_MSG: |
| 1103 | transform_send_error_msg_event(contp, data, event, edata); |
| 1104 | break; |
| 1105 | case State::BYPASS: |
| 1106 | transform_bypass_event(contp, data, event, edata); |
| 1107 | break; |
| 1108 | case State::BUFFER_OS_RESP: |
| 1109 | transform_buffer_os_resp_event(contp, data, event, edata); |
| 1110 | break; |
| 1111 | case State::SEND_OS_RESP: |
| 1112 | transform_send_os_resp_event(contp, data, event, edata); |
| 1113 | break; |
| 1114 | } |
| 1115 | } |
| 1116 | |
| 1117 | return 0; |
| 1118 | } |
| 1119 |
nothing calls this directly
no test coverage detected