26extern module AP_MODULE_DECLARE_DATA cache_module;
50 "cache: Removing url %s from the cache",
h->cache_obj->key);
54 list->provider->remove_url(
h,
r);
82 "cache: No cache request information available for key"
101 cache->provider_name =
list->provider_name;
223 "cache: No cache request information available for key"
248 switch ((rv =
list->provider->open_entity(
h,
r,
cache->key))) {
299 r,
APLOGNO(00694)
"cache_select(): Vary header mismatch.");
314 cache->provider_name =
list->provider_name;
337 const char *etag, *lastmod;
342 if (
cache->control_in.only_if_cached) {
358 "conditional request headers.",
r->
uri);
370 if (etag || lastmod) {
418 if (
cache->control_in.only_if_cached) {
420 "cache: 'only-if-cached' requested and no cached entity, "
421 "returning 504 Gateway Timeout for: %s",
r->
uri);
434 char *port_str, *
hn, *
lcs;
637 dup[strlen(
dup) - 1] =
'\0';
660 "cache: Key for entity %s?%s is %s",
path,
query, *
key);
756 rv =
list->provider->open_entity(
h,
r,
cache->key);
758 rv =
list->provider->invalidate_entity(
h,
r);
768 rv =
list->provider->invalidate_entity(
h,
r);
779 rv =
list->provider->invalidate_entity(
h,
r);
const char apr_size_t len
static int filter_header_do(void *v, const char *key, const char *val)
static apr_status_t cache_canonicalise_key(request_rec *r, apr_pool_t *p, const char *path, const char *query, apr_uri_t *parsed_uri, const char **key)
static int remove_header_do(void *v, const char *key, const char *val)
apr_OFN_ap_cache_generate_key_t * cache_generate_key
static int add_header_do(void *v, const char *key, const char *val)
#define APLOG_USE_MODULE(foo)
#define ap_get_module_config(v, m)
request_rec int int apr_table_t const char * path
#define ap_http_scheme(r)
apr_port_t ap_get_server_port(const request_rec *r)
const char * ap_get_server_name(request_rec *r)
ap_condition_e ap_condition_if_modified_since(request_rec *r, apr_table_t *headers)
ap_condition_e ap_condition_if_range(request_rec *r, apr_table_t *headers)
ap_condition_e ap_condition_if_unmodified_since(request_rec *r, apr_table_t *headers)
void ap_set_last_modified(request_rec *r)
void ap_set_content_type(request_rec *r, const char *ct)
ap_condition_e ap_condition_if_match(request_rec *r, apr_table_t *headers)
ap_condition_e ap_condition_if_none_match(request_rec *r, apr_table_t *headers)
void ap_update_mtime(request_rec *r, apr_time_t dependency_mtime)
apr_pool_t apr_dbd_t const char * query
#define APR_OPTIONAL_FN_TYPE(name)
int cache_remove_url(cache_request_rec *cache, request_rec *r)
void cache_accept_headers(cache_handle_t *h, request_rec *r, apr_table_t *top, apr_table_t *bottom, int revalidation)
int cache_invalidate(cache_request_rec *cache, request_rec *r)
apr_status_t cache_generate_key_default(request_rec *r, apr_pool_t *p, const char **key)
int cache_create_entity(cache_request_rec *cache, request_rec *r, apr_off_t size, apr_bucket_brigade *in)
int cache_select(cache_request_rec *cache, request_rec *r)
char * cache_strqtok(char *str, const char *sep, char **last)
int ap_cache_check_no_cache(cache_request_rec *cache, request_rec *r)
const char * cache_table_getm(apr_pool_t *p, const apr_table_t *t, const char *key)
int cache_check_freshness(cache_handle_t *h, cache_request_rec *cache, request_rec *r)
int cache_use_early_url(request_rec *r)
#define HTTP_GATEWAY_TIME_OUT
int ap_cstr_casecmp(const char *s1, const char *s2)
#define ap_strrchr_c(s, c)
#define ap_strstr_c(s, c)
#define ap_strchr_c(s, c)
void ap_str_tolower(char *s)
const apr_array_header_t * list
const apr_hash_t const apr_hash_t * h2
#define apr_pcalloc(p, size)
Main include file for the Apache Transparent Cache.
unsigned int ignorequerystring
apr_array_header_t * ignore_session_id
A structure that represents the current request.
apr_table_t * err_headers_out
apr_table_t * headers_out
struct ap_conf_vector_t * module_config