| 7022 | } |
| 7023 | |
| 7024 | static int |
| 7025 | ssn_handler(TSCont contp, TSEvent event, void *edata) |
| 7026 | { |
| 7027 | TSHttpTxn txnp = nullptr; |
| 7028 | ContData *data = nullptr; |
| 7029 | data = static_cast<ContData *>(TSContDataGet(contp)); |
| 7030 | if (data == nullptr) { |
| 7031 | switch (event) { |
| 7032 | case TS_EVENT_HTTP_SSN_START: |
| 7033 | TSHttpSsnReenable(static_cast<TSHttpSsn>(edata), TS_EVENT_HTTP_CONTINUE); |
| 7034 | break; |
| 7035 | case TS_EVENT_IMMEDIATE: |
| 7036 | case TS_EVENT_TIMEOUT: |
| 7037 | break; |
| 7038 | case TS_EVENT_HTTP_TXN_START: |
| 7039 | default: |
| 7040 | TSHttpTxnReenable(static_cast<TSHttpTxn>(edata), TS_EVENT_HTTP_CONTINUE); |
| 7041 | break; |
| 7042 | } |
| 7043 | return 0; |
| 7044 | } |
| 7045 | |
| 7046 | switch (event) { |
| 7047 | case TS_EVENT_HTTP_SSN_START: |
| 7048 | data->ssnp = static_cast<TSHttpSsn>(edata); |
| 7049 | TSHttpSsnHookAdd(data->ssnp, TS_HTTP_TXN_START_HOOK, contp); |
| 7050 | TSHttpSsnReenable(data->ssnp, TS_EVENT_HTTP_CONTINUE); |
| 7051 | break; |
| 7052 | |
| 7053 | case TS_EVENT_HTTP_TXN_START: |
| 7054 | TSHttpTxnCntlSet(static_cast<TSHttpTxn>(edata), TS_HTTP_CNTL_SKIP_REMAPPING, true); |
| 7055 | SDK_RPRINT(data->test, "TSHttpSsnReenable", "TestCase", TC_PASS, "ok"); |
| 7056 | data->test_passed_ssn_reenable++; |
| 7057 | { |
| 7058 | txnp = static_cast<TSHttpTxn>(edata); |
| 7059 | TSHttpSsn ssnp = TSHttpTxnSsnGet(txnp); |
| 7060 | if (ssnp != data->ssnp) { |
| 7061 | SDK_RPRINT(data->test, "TSHttpSsnHookAdd", "TestCase", TC_FAIL, "Value's mismatch"); |
| 7062 | data->test_passed_ssn_hook_add--; |
| 7063 | SDK_RPRINT(data->test, "TSHttpTxnSsnGet", "TestCase", TC_FAIL, "Session doesn't match"); |
| 7064 | data->test_passed_txn_ssn_get--; |
| 7065 | } else { |
| 7066 | SDK_RPRINT(data->test, "TSHttpSsnHookAdd", "TestCase1", TC_PASS, "ok"); |
| 7067 | data->test_passed_ssn_hook_add++; |
| 7068 | SDK_RPRINT(data->test, "TSHttpTxnSsnGet", "TestCase1", TC_PASS, "ok"); |
| 7069 | data->test_passed_txn_ssn_get++; |
| 7070 | } |
| 7071 | TSHttpTxnHookAdd(txnp, TS_HTTP_OS_DNS_HOOK, contp); |
| 7072 | TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); |
| 7073 | } |
| 7074 | break; |
| 7075 | |
| 7076 | case TS_EVENT_HTTP_OS_DNS: |
| 7077 | SDK_RPRINT(data->test, "TSHttpTxnHookAdd", "TestCase1", TC_PASS, "ok"); |
| 7078 | data->test_passed_txn_hook_add++; |
| 7079 | txnp = static_cast<TSHttpTxn>(edata); |
| 7080 | |
| 7081 | TSHttpTxnHookAdd(txnp, TS_HTTP_SEND_RESPONSE_HDR_HOOK, contp); |
nothing calls this directly
no test coverage detected