| 4870 | } |
| 4871 | |
| 4872 | void |
| 4873 | HttpTransact::handle_transform_ready(State *s) |
| 4874 | { |
| 4875 | ink_assert(s->hdr_info.transform_response.valid() == true); |
| 4876 | |
| 4877 | s->pre_transform_source = s->source; |
| 4878 | s->source = SOURCE_TRANSFORM; |
| 4879 | |
| 4880 | dump_header(dbg_ctl_http_hdrs, &s->hdr_info.transform_response, s->state_machine_id(), "Header From Transform"); |
| 4881 | |
| 4882 | build_response(s, &s->hdr_info.transform_response, &s->hdr_info.client_response, s->client_info.http_version); |
| 4883 | |
| 4884 | if (s->cache_info.action != CACHE_DO_NO_ACTION && s->cache_info.action != CACHE_DO_DELETE && s->api_info.cache_transformed && |
| 4885 | !s->range_setup) { |
| 4886 | HTTPHdr *transform_store_request = nullptr; |
| 4887 | switch (s->pre_transform_source) { |
| 4888 | case SOURCE_CACHE: |
| 4889 | // If we are transforming from the cache, treat |
| 4890 | // the transform as if it were virtual server |
| 4891 | // use in the incoming request |
| 4892 | transform_store_request = &s->hdr_info.client_request; |
| 4893 | break; |
| 4894 | case SOURCE_HTTP_ORIGIN_SERVER: |
| 4895 | transform_store_request = &s->hdr_info.server_request; |
| 4896 | break; |
| 4897 | default: |
| 4898 | ink_release_assert(0); |
| 4899 | } |
| 4900 | ink_assert(transform_store_request->valid() == true); |
| 4901 | set_headers_for_cache_write(s, &s->cache_info.transform_store, transform_store_request, &s->hdr_info.transform_response); |
| 4902 | |
| 4903 | // For debugging |
| 4904 | if (is_action_tag_set("http_nullt")) { |
| 4905 | s->cache_info.transform_store.request_get()->value_set("InkXform", 8, "nullt", 5); |
| 4906 | s->cache_info.transform_store.response_get()->value_set("InkXform", 8, "nullt", 5); |
| 4907 | } |
| 4908 | |
| 4909 | s->cache_info.transform_action = CACHE_PREPARE_TO_WRITE; |
| 4910 | TRANSACT_RETURN(SM_ACTION_CACHE_ISSUE_WRITE_TRANSFORM, handle_transform_cache_write); |
| 4911 | } else { |
| 4912 | s->cache_info.transform_action = CACHE_DO_NO_ACTION; |
| 4913 | TRANSACT_RETURN(SM_ACTION_TRANSFORM_READ, nullptr); |
| 4914 | } |
| 4915 | } |
| 4916 | |
| 4917 | void |
| 4918 | HttpTransact::set_header_for_transform(State *s, HTTPHdr *base_header) |
nothing calls this directly
no test coverage detected