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

Function transform_handler

plugins/experimental/icap/icap_plugin.cc:1062–1118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1060}
1061
1062static int
1063transform_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

Callers

nothing calls this directly

Calls 15

TSVConnClosedGetFunction · 0.85
TSContDataGetFunction · 0.85
transform_destroyFunction · 0.70
transform_connectFunction · 0.70
transform_connect_eventFunction · 0.70

Tested by

no test coverage detected