/* 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. */ /** * @file cache_storage.h * @brief Cache Storage Functions * * @defgroup Cache_storage Cache Storage Functions * @ingroup MOD_CACHE * @{ */ #ifndef CACHE_STORAGE_H #define CACHE_STORAGE_H #ifdef __cplusplus extern "C" { #endif #include "mod_cache.h" #include "cache_util.h" /** * cache_storage.c */ int cache_remove_url(cache_request_rec *cache, request_rec *r); 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); /** * invalidate a specific URL entity in all caches * * All cached entities for this URL are removed, usually in * response to a POST/PUT or DELETE. * * This function returns OK if at least one entity was found and * removed, and DECLINED if no cached entities were removed. * @param cache cache_request_rec * @param r request_rec */ 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); /** * Merge in cached headers into the response * @param h cache_handle_t * @param r request_rec * @param top headers to be applied * @param bottom headers to be overwritten * @param revalidation true if revalidation is taking place */ void cache_accept_headers(cache_handle_t *h, request_rec *r, apr_table_t *top, apr_table_t *bottom, int revalidation); #ifdef __cplusplus } #endif #endif /* !CACHE_STORAGE_H */ /** @} */