in src/tscpp/api/utils_internal.cc [131:175]
void inline invokePluginForEvent(Plugin *plugin, TSHttpTxn ats_txn_handle, TSEvent event)
{
Transaction &transaction = utils::internal::getTransaction(ats_txn_handle);
switch (event) {
case TS_EVENT_HTTP_PRE_REMAP:
plugin->handleReadRequestHeadersPreRemap(transaction);
break;
case TS_EVENT_HTTP_POST_REMAP:
plugin->handleReadRequestHeadersPostRemap(transaction);
break;
case TS_EVENT_HTTP_SEND_REQUEST_HDR:
plugin->handleSendRequestHeaders(transaction);
break;
case TS_EVENT_HTTP_READ_RESPONSE_HDR:
plugin->handleReadResponseHeaders(transaction);
break;
case TS_EVENT_HTTP_SEND_RESPONSE_HDR:
plugin->handleSendResponseHeaders(transaction);
break;
case TS_EVENT_HTTP_OS_DNS:
plugin->handleOsDns(transaction);
break;
case TS_EVENT_HTTP_READ_REQUEST_HDR:
plugin->handleReadRequestHeaders(transaction);
break;
case TS_EVENT_HTTP_READ_CACHE_HDR:
plugin->handleReadCacheHeaders(transaction);
break;
case TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE:
plugin->handleReadCacheLookupComplete(transaction);
break;
case TS_EVENT_HTTP_TXN_CLOSE:
if (plugin) {
plugin->handleTxnClose(transaction);
cleanupTransactionPlugin(plugin, ats_txn_handle);
} else {
LOG_ERROR("stray event TS_EVENT_HTTP_TXN_CLOSE, no transaction plugin to handle it!");
}
cleanupTransaction(transaction, ats_txn_handle);
break;
default:
assert(false); /* we should never get here */
break;
}
}