A brief file description. More...
#include "libts.h"
#include "P_HostDB.h"
#include "P_Net.h"
#include "HttpConfig.h"
#include "HTTP.h"
#include "HttpTransactCache.h"
#include "StatSystem.h"
#include "ControlMatcher.h"
#include "CacheControl.h"
#include "ParentSelection.h"
#include "ProxyConfig.h"
#include "Transform.h"
#include "api/ts/remap.h"
#include "RemapPluginInfo.h"
#include "UrlMapping.h"
#include <records/I_RecHttp.h>
#include "congest/Congestion.h"
#include "InkErrno.h"
Go to the source code of this file.
A brief file description.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file HttpTransact.h.
#define ACQUIRE_PRINT_LOCK | ( | ) |
Definition at line 54 of file HttpTransact.h.
Referenced by HttpTransactCache::SelectFromAlternates().
#define DUMP_HEADER | ( | T, | ||
H, | ||||
I, | ||||
S | ||||
) |
{ \ if (diags->on(T)) { \ ACQUIRE_PRINT_LOCK() \ fprintf(stderr, "+++++++++ %s +++++++++\n", S); \ fprintf(stderr, "-- State Machine Id: %" PRId64 "\n", I); \ char b[4096]; \ int used, tmp, offset; \ int done; \ offset = 0; \ if ((H)->valid()) { \ do { \ used = 0; \ tmp = offset; \ done = (H)->print (b, 4095, &used, &tmp); \ offset += used; \ b[used] = '\0'; \ fprintf (stderr, "%s", b); \ } while (!done); \ } \ RELEASE_PRINT_LOCK() \ } \ }
Definition at line 57 of file HttpTransact.h.
Referenced by HttpTransact::build_request(), HttpTransact::build_response(), HttpTransact::build_response_copy(), check_n_attach_prefetch_transform(), HttpTransact::handle_cache_operation_on_forward_server_response(), HttpTransact::handle_transform_ready(), PrefetchBlaster::handleCookieHeaders(), HttpTransact::HandlePushResponseHdr(), HttpTransact::HandleRequest(), HttpTransact::HandleResponse(), PrefetchBlaster::init(), HttpTransact::issue_revalidate(), HttpSM::redirect_request(), HttpTransact::set_header_for_transform(), HttpTransact::set_headers_for_cache_write(), and HttpSM::setup_server_send_request().
#define GET_VIA_STRING | ( | I | ) | (s->via_string[I]) |
Definition at line 266 of file HttpTransact.h.
Referenced by HttpTransact::client_result_stat(), HttpTransact::handle_cache_operation_on_forward_server_response(), HttpTransact::HandleCacheOpenReadMiss(), and HttpTransact::issue_revalidate().
#define HTTP_RELEASE_ASSERT | ( | X | ) | ink_release_assert(X) |
Definition at line 51 of file HttpTransact.h.
Referenced by HttpTransact::handle_response_from_icp_suggested_host(), HttpTransact::handle_response_from_parent(), HttpTransact::handle_response_from_server(), HttpTransact::handle_trace_and_options_requests(), HttpTransact::OSDNSLookup(), and HttpTransact::try_to_expand_host_name().
#define HTTP_TRANSACT_STATE_MAX_XBUF_SIZE (1024*2) |
Definition at line 851 of file HttpTransact.h.
#define MAX_DNS_LOOKUPS 2 |
Definition at line 48 of file HttpTransact.h.
#define NUM_SECONDS_IN_ONE_YEAR (31536000) |
Definition at line 49 of file HttpTransact.h.
Referenced by HttpTransact::calculate_document_freshness_limit(), HttpTransact::calculate_freshness_fuzz(), and HttpTransact::what_is_document_freshness().
#define RELEASE_PRINT_LOCK | ( | ) |
Definition at line 55 of file HttpTransact.h.
Referenced by HttpTransactCache::SelectFromAlternates().
#define SET_UNPREPARE_CACHE_ACTION | ( | C | ) |
{ \ if (C.action == HttpTransact::CACHE_PREPARE_TO_DELETE) { \ C.action = HttpTransact::CACHE_DO_DELETE; \ } else if (C.action == HttpTransact::CACHE_PREPARE_TO_UPDATE) { \ C.action = HttpTransact::CACHE_DO_UPDATE; \ } else { \ C.action = HttpTransact::CACHE_DO_WRITE; \ } \ }
Definition at line 96 of file HttpTransact.h.
Referenced by HttpTransact::handle_cache_write_lock().
#define SET_VIA_STRING | ( | I, | ||
S | ||||
) | s->via_string[I]=S; |
Definition at line 265 of file HttpTransact.h.
Referenced by HttpTransact::build_error_response(), HttpTransact::build_response_from_cache(), HttpTransact::delete_all_document_alternates_and_return(), HttpTransact::EndRemapRequest(), HttpTransact::handle_cache_operation_on_forward_server_response(), HttpTransact::handle_cache_write_lock(), HttpTransact::handle_no_cache_operation_on_forward_server_response(), HttpTransact::handle_response_from_icp_suggested_host(), HttpTransact::handle_response_from_parent(), HttpTransact::handle_response_from_server(), HttpTransact::handle_server_connection_not_open(), HttpTransact::handle_trace_and_options_requests(), HttpTransact::HandleCacheOpenRead(), HttpTransact::HandleCacheOpenReadHit(), HttpTransact::HandleCacheOpenReadHitFreshness(), HttpTransact::HandleCacheOpenReadMiss(), HttpTransact::HandleFiltering(), HttpTransact::HandleICPLookup(), HttpTransact::initialize_state_variables_from_request(), HttpTransact::is_cache_response_returnable(), HttpTransact::is_request_cache_lookupable(), HttpTransact::is_request_valid(), HttpTransact::issue_revalidate(), HttpTransact::need_to_revalidate(), and HttpTransact::OSDNSLookup().
#define StatBlockEntries 28 |
Definition at line 585 of file HttpTransact.h.
Referenced by HttpTransact::add_new_stat_block(), and HttpTransact::update_stat().
#define TRANSACT_RETURN | ( | n, | ||
r | ||||
) |
TRANSACT_SETUP_RETURN(n, r) \ return; \
Definition at line 87 of file HttpTransact.h.
Referenced by HttpTransact::BadRequest(), HttpTransact::build_response_from_cache(), HttpTransact::CallOSDNSLookup(), HttpTransact::DecideCacheLookup(), HttpTransact::delete_server_rr_entry(), HttpTransact::EndRemapRequest(), HttpTransact::handle_100_continue_response(), HttpTransact::handle_cache_write_lock(), HttpTransact::handle_parent_died(), HttpTransact::handle_response_from_icp_suggested_host(), HttpTransact::handle_response_from_parent(), HttpTransact::handle_response_from_server(), HttpTransact::handle_transform_cache_write(), HttpTransact::handle_transform_ready(), HttpTransact::handle_websocket_upgrade_post_remap(), HttpTransact::handle_websocket_upgrade_pre_remap(), HttpTransact::HandleApiErrorJump(), HttpTransact::HandleBlindTunnel(), HttpTransact::HandleCacheOpenRead(), HttpTransact::HandleCacheOpenReadHit(), HttpTransact::HandleCacheOpenReadHitFreshness(), HttpTransact::HandleCacheOpenReadMiss(), HttpTransact::HandleCacheOpenReadPush(), HttpTransact::HandleFiltering(), HttpTransact::HandleICPLookup(), HttpTransact::HandlePushCacheWrite(), HttpTransact::HandlePushResponseHdr(), HttpTransact::HandlePushTunnelSuccess(), HttpTransact::HandleRequest(), HttpTransact::HandleRequestAuthorized(), HttpTransact::HandleUpdateCachedObject(), HttpTransact::LookupSkipOpenServer(), HttpTransact::ModifyRequest(), HttpTransact::OSDNSLookup(), HttpTransact::PerformRemap(), HttpTransact::PPDNSLookup(), HttpTransact::setup_plugin_request_intercept(), and HttpTransact::StartRemapRequest().
#define TRANSACT_RETURN_VAL | ( | n, | ||
r, | ||||
v | ||||
) |
TRANSACT_SETUP_RETURN(n, r) \ return v; \
Definition at line 91 of file HttpTransact.h.
Referenced by HttpTransact::handle_upgrade_request().
#define TRANSACT_SETUP_RETURN | ( | n, | ||
r | ||||
) |
s->next_action = n; \ s->transact_return_point = r; \ DebugSpecific((s->state_machine && s->state_machine->debug_on), "http_trans", "Next action %s; %s", #n, #r); \
Definition at line 82 of file HttpTransact.h.
#define UNKNOWN_INTERNAL_ERROR (INK_START_ERRNO - 1) |
Definition at line 114 of file HttpTransact.h.
Referenced by HttpTransact::get_error_string().
typedef struct _HttpApiInfo HttpApiInfo |
typedef time_t ink_time_t |
Definition at line 107 of file HttpTransact.h.
typedef void(* TransactEntryFunc_t)(HttpTransact::State *s) |
Definition at line 1385 of file HttpTransact.h.
anonymous enum |
Definition at line 252 of file HttpTransact.h.
enum ViaString_t |
Definition at line 151 of file HttpTransact.h.
enum ViaStringIndex_t |
Definition at line 116 of file HttpTransact.h.
inkcoreapi ink_time_t ink_cluster_time | ( | void | ) |
Definition at line 8239 of file HttpTransact.cc.
References Debug, ink_assert, ink_get_hrtime(), ink_mutex_acquire(), ink_mutex_release(), and HttpConfig::m_master.
Referenced by HttpTransact::bootstrap_state_variables_from_request(), HttpTransact::build_request(), HttpTransact::handle_cache_operation_on_forward_server_response(), HttpTransact::HandlePushResponseHdr(), HttpTransact::HandleResponse(), HttpSM::mark_host_failure(), HttpSM::process_hostdb_info(), HttpSM::process_srv_info(), and HttpTransactCache::SelectFromAlternates().
bool is_response_body_precluded | ( | HTTPStatus | status_code, | |
int | method | |||
) | [inline] |
Definition at line 1388 of file HttpTransact.h.
References HTTP_STATUS_CONTINUE, HTTP_STATUS_NOT_MODIFIED, HTTP_STATUS_OK, and HTTP_WKSIDX_HEAD.
Referenced by HttpTransact::build_response(), HttpTransact::handle_content_length_header(), HttpTransact::handle_response_keep_alive_headers(), HttpTransact::initialize_state_variables_from_response(), and HttpSM::setup_internal_transfer().