| 745 | } |
| 746 | |
| 747 | static int |
| 748 | handleServerEvent(TSCont contp, TSEvent event, void *edata) |
| 749 | { |
| 750 | InterceptData *int_data = static_cast<InterceptData *>(TSContDataGet(contp)); |
| 751 | bool write_response = false; |
| 752 | |
| 753 | switch (event) { |
| 754 | case TS_EVENT_NET_ACCEPT_FAILED: |
| 755 | LOG_DEBUG("Received net accept failed event; going to abort continuation"); |
| 756 | int_data->read_complete = int_data->write_complete = true; |
| 757 | break; |
| 758 | |
| 759 | case TS_EVENT_NET_ACCEPT: |
| 760 | LOG_DEBUG("Received net accept event"); |
| 761 | if (!initRequestProcessing(*int_data, edata, write_response)) { |
| 762 | LOG_ERROR("Could not initialize request processing"); |
| 763 | return 0; |
| 764 | } |
| 765 | break; |
| 766 | |
| 767 | case TS_EVENT_VCONN_READ_READY: |
| 768 | LOG_DEBUG("Received read ready event"); |
| 769 | if (!readInterceptRequest(*int_data)) { |
| 770 | LOG_ERROR("Error while reading from input vio"); |
| 771 | return 0; |
| 772 | } |
| 773 | break; |
| 774 | |
| 775 | case TS_EVENT_VCONN_READ_COMPLETE: |
| 776 | case TS_EVENT_VCONN_EOS: |
| 777 | LOG_DEBUG("Received read complete/eos event %d", event); |
| 778 | int_data->read_complete = true; |
| 779 | break; |
| 780 | |
| 781 | case TS_EVENT_VCONN_WRITE_READY: |
| 782 | LOG_DEBUG("Received write ready event"); |
| 783 | break; |
| 784 | |
| 785 | case TS_EVENT_VCONN_WRITE_COMPLETE: |
| 786 | LOG_DEBUG("Received write complete event"); |
| 787 | int_data->write_complete = true; |
| 788 | break; |
| 789 | |
| 790 | case TS_EVENT_ERROR: |
| 791 | LOG_ERROR("Received error event!"); |
| 792 | break; |
| 793 | |
| 794 | default: |
| 795 | if (int_data->fetcher && int_data->fetcher->isFetchEvent(event)) { |
| 796 | if (!int_data->fetcher->handleFetchEvent(event, edata)) { |
| 797 | LOG_ERROR("Couldn't handle fetch request event %d", event); |
| 798 | } |
| 799 | write_response = int_data->fetcher->isFetchComplete(); |
| 800 | } else { |
| 801 | LOG_DEBUG("Unexpected event %d", event); |
| 802 | } |
| 803 | break; |
| 804 | } |
nothing calls this directly
no test coverage detected