| 7470 | }; |
| 7471 | |
| 7472 | static int |
| 7473 | cache_hook_handler(TSCont contp, TSEvent event, void *edata) |
| 7474 | { |
| 7475 | TSHttpTxn txnp = nullptr; |
| 7476 | CacheTestData *data = nullptr; |
| 7477 | |
| 7478 | CHECK_SPURIOUS_EVENT(contp, event, edata); |
| 7479 | data = static_cast<CacheTestData *>(TSContDataGet(contp)); |
| 7480 | |
| 7481 | switch (event) { |
| 7482 | case TS_EVENT_HTTP_READ_REQUEST_HDR: |
| 7483 | txnp = static_cast<TSHttpTxn>(edata); |
| 7484 | TSHttpTxnCntlSet(txnp, TS_HTTP_CNTL_SKIP_REMAPPING, true); |
| 7485 | TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); |
| 7486 | break; |
| 7487 | |
| 7488 | case TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE: { |
| 7489 | int lookup_status; |
| 7490 | if (data->first_time == true) { |
| 7491 | txnp = static_cast<TSHttpTxn>(edata); |
| 7492 | if (TSHttpTxnCacheLookupStatusGet(txnp, &lookup_status) != TS_SUCCESS) { |
| 7493 | SDK_RPRINT(data->test, "TSHttpTxnCacheLookupStatusGet", "TestCase1", TC_FAIL, |
| 7494 | "TSHttpTxnCacheLookupStatus doesn't return TS_SUCCESS"); |
| 7495 | } else { |
| 7496 | if (lookup_status == TS_CACHE_LOOKUP_MISS) { |
| 7497 | SDK_RPRINT(data->test, "TSHttpTxnCacheLookupStatusGet", "TestCase1", TC_PASS, "ok"); |
| 7498 | data->test_passed_txn_cache_lookup_status = true; |
| 7499 | } else { |
| 7500 | SDK_RPRINT(data->test, "TSHttpTxnCacheLookupStatusGet", "TestCase1", TC_FAIL, |
| 7501 | "Incorrect Value returned by TSHttpTxnCacheLookupStatusGet"); |
| 7502 | } |
| 7503 | } |
| 7504 | } else { |
| 7505 | txnp = static_cast<TSHttpTxn>(edata); |
| 7506 | if (TSHttpTxnCacheLookupStatusGet(txnp, &lookup_status) != TS_SUCCESS) { |
| 7507 | SDK_RPRINT(data->test, "TSHttpTxnCacheLookupStatusGet", "TestCase2", TC_FAIL, |
| 7508 | "TSHttpTxnCacheLookupStatus doesn't return TS_SUCCESS"); |
| 7509 | data->test_passed_txn_cache_lookup_status = false; |
| 7510 | } else { |
| 7511 | if (lookup_status == TS_CACHE_LOOKUP_HIT_FRESH) { |
| 7512 | SDK_RPRINT(data->test, "TSHttpTxnCacheLookupStatusGet", "TestCase2", TC_PASS, "ok"); |
| 7513 | } else { |
| 7514 | SDK_RPRINT(data->test, "TSHttpTxnCacheLookupStatusGet", "TestCase2", TC_FAIL, |
| 7515 | "Incorrect Value returned by TSHttpTxnCacheLookupStatusGet"); |
| 7516 | data->test_passed_txn_cache_lookup_status = false; |
| 7517 | } |
| 7518 | } |
| 7519 | } |
| 7520 | TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); |
| 7521 | } break; |
| 7522 | case TS_EVENT_HTTP_READ_CACHE_HDR: { |
| 7523 | TSMBuffer reqbuf; |
| 7524 | TSMBuffer respbuf; |
| 7525 | |
| 7526 | TSMLoc reqhdr; |
| 7527 | TSMLoc resphdr; |
| 7528 | |
| 7529 | txnp = static_cast<TSHttpTxn>(edata); |
nothing calls this directly
no test coverage detected