if ((p = strchr(meta_buffer, ':'))) {
*p++ = '\0';
- context->expires = (time_t) atol(meta_buffer);
+ if (context->expires != 1) {
+ context->expires = (time_t) atol(meta_buffer);
+ }
context->metadata = switch_core_strdup(context->pool, p);
}
}
load_cache_data(context, url);
- if (context->expires && now < context->expires) {
+ if (context->expires > 1 && now < context->expires) {
return SWITCH_STATUS_SUCCESS;
}
switch_event_create_brackets(pdup, '(', ')', ',', &context->url_params, &parsed, SWITCH_FALSE);
if (context->url_params) {
+ const char *var;
context->ua = switch_event_get_header(context->url_params, "ua");
+
+ if ((var = switch_event_get_header(context->url_params, "cache")) && !switch_true(var)) {
+ context->expires = 1;
+ }
+
}
if (parsed) path = parsed;