Changes with Apache 2.3.9
+ *) mod_cache: Give the cache provider the opportunity to choose to cache
+ or not cache based on the buckets present in the brigade, such as the
+ presence of a FILE bucket.
+ [Graham Leggett]
+
*) mod_authz_core: Allow authz providers to check args while reading the
config and allow to cache parsed args. [Stefan Fritsch]
* decide whether or not it wants to cache this particular entity.
* If the size is unknown, a size of -1 should be set.
*/
-int cache_create_entity(request_rec *r, apr_off_t size)
+int cache_create_entity(request_rec *r, apr_off_t size, apr_bucket_brigade *in)
{
cache_provider_list *list;
cache_handle_t *h = apr_pcalloc(r->pool, sizeof(cache_handle_t));
list = cache->providers;
/* for each specified cache type, delete the URL */
while (list) {
- switch (rv = list->provider->create_entity(h, r, key, size)) {
+ switch (rv = list->provider->create_entity(h, r, key, size, in)) {
case OK: {
cache->handle = h;
cache->provider = list->provider;
/* no cache handle, create a new entity only for non-HEAD requests */
if (!cache->handle && !r->header_only) {
- rv = cache_create_entity(r, size);
+ rv = cache_create_entity(r, size, in);
info = apr_pcalloc(r->pool, sizeof(cache_info));
/* We only set info->status upon the initial creation. */
info->status = r->status;
apr_status_t (*recall_headers) (cache_handle_t *h, request_rec *r);
apr_status_t (*recall_body) (cache_handle_t *h, apr_pool_t *p, apr_bucket_brigade *bb);
int (*create_entity) (cache_handle_t *h, request_rec *r,
- const char *urlkey, apr_off_t len);
+ const char *urlkey, apr_off_t len, apr_bucket_brigade *bb);
int (*open_entity) (cache_handle_t *h, request_rec *r,
const char *urlkey);
int (*remove_url) (cache_handle_t *h, apr_pool_t *p);
*/
#define MOD_CACHE_REQUEST_REC "mod_cache_request_rec"
int cache_remove_url(cache_request_rec *cache, apr_pool_t *p);
-int cache_create_entity(request_rec *r, apr_off_t size);
+int cache_create_entity(request_rec *r, apr_off_t size, apr_bucket_brigade *in);
int cache_select(request_rec *r);
apr_status_t cache_generate_key_default( request_rec *r, apr_pool_t*p, char**key );