| 5767 | } |
| 5768 | |
| 5769 | int |
| 5770 | HttpSM::do_api_callout_internal() |
| 5771 | { |
| 5772 | switch (t_state.api_next_action) { |
| 5773 | case HttpTransact::SM_ACTION_API_SM_START: |
| 5774 | cur_hook_id = TS_HTTP_TXN_START_HOOK; |
| 5775 | break; |
| 5776 | case HttpTransact::SM_ACTION_API_PRE_REMAP: |
| 5777 | cur_hook_id = TS_HTTP_PRE_REMAP_HOOK; |
| 5778 | break; |
| 5779 | case HttpTransact::SM_ACTION_API_POST_REMAP: |
| 5780 | cur_hook_id = TS_HTTP_POST_REMAP_HOOK; |
| 5781 | break; |
| 5782 | case HttpTransact::SM_ACTION_API_TUNNEL_START: |
| 5783 | cur_hook_id = TS_HTTP_TUNNEL_START_HOOK; |
| 5784 | break; |
| 5785 | case HttpTransact::SM_ACTION_API_READ_REQUEST_HDR: |
| 5786 | cur_hook_id = TS_HTTP_READ_REQUEST_HDR_HOOK; |
| 5787 | break; |
| 5788 | case HttpTransact::SM_ACTION_REQUEST_BUFFER_READ_COMPLETE: |
| 5789 | cur_hook_id = TS_HTTP_REQUEST_BUFFER_READ_COMPLETE_HOOK; |
| 5790 | break; |
| 5791 | case HttpTransact::SM_ACTION_API_OS_DNS: |
| 5792 | cur_hook_id = TS_HTTP_OS_DNS_HOOK; |
| 5793 | break; |
| 5794 | case HttpTransact::SM_ACTION_API_SEND_REQUEST_HDR: |
| 5795 | cur_hook_id = TS_HTTP_SEND_REQUEST_HDR_HOOK; |
| 5796 | break; |
| 5797 | case HttpTransact::SM_ACTION_API_READ_CACHE_HDR: |
| 5798 | cur_hook_id = TS_HTTP_READ_CACHE_HDR_HOOK; |
| 5799 | break; |
| 5800 | case HttpTransact::SM_ACTION_API_CACHE_LOOKUP_COMPLETE: |
| 5801 | cur_hook_id = TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK; |
| 5802 | break; |
| 5803 | case HttpTransact::SM_ACTION_API_READ_RESPONSE_HDR: |
| 5804 | cur_hook_id = TS_HTTP_READ_RESPONSE_HDR_HOOK; |
| 5805 | break; |
| 5806 | case HttpTransact::SM_ACTION_API_SEND_RESPONSE_HDR: |
| 5807 | cur_hook_id = TS_HTTP_SEND_RESPONSE_HDR_HOOK; |
| 5808 | ATS_PROBE1(milestone_ua_begin_write, sm_id); |
| 5809 | milestones[TS_MILESTONE_UA_BEGIN_WRITE] = ink_get_hrtime(); |
| 5810 | break; |
| 5811 | case HttpTransact::SM_ACTION_API_SM_SHUTDOWN: |
| 5812 | if (callout_state == HTTP_API_IN_CALLOUT || callout_state == HTTP_API_DEFERED_SERVER_ERROR) { |
| 5813 | callout_state = HTTP_API_DEFERED_CLOSE; |
| 5814 | return 0; |
| 5815 | } else { |
| 5816 | cur_hook_id = TS_HTTP_TXN_CLOSE_HOOK; |
| 5817 | } |
| 5818 | break; |
| 5819 | default: |
| 5820 | cur_hook_id = static_cast<TSHttpHookID>(-1); |
| 5821 | ink_assert(!"not reached"); |
| 5822 | } |
| 5823 | |
| 5824 | hook_state.init(cur_hook_id, http_global_hooks, _ua.get_txn() ? _ua.get_txn()->feature_hooks() : nullptr, &api_hooks); |
| 5825 | cur_hook = nullptr; |
| 5826 | cur_hooks = 0; |
nothing calls this directly
no test coverage detected