summaryrefslogtreecommitdiff
path: root/src/http-header-glue.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2021-03-13 06:21:06 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2021-03-13 06:21:06 -0500
commitf5a62a0fd21efe0515de4edfb282aedfc1a0e996 (patch)
treec82ff7a90883913b26fed7cad9d2e2cb28e7a284 /src/http-header-glue.c
parentc035eb77336bc71ad4951b4f853233bf49553ac7 (diff)
downloadlighttpd-git-f5a62a0fd21efe0515de4edfb282aedfc1a0e996.tar.gz
[core] http_response_handle_cachable() optim
short-circuit http_response_handle_cachable() if conditional request headers are not present
Diffstat (limited to 'src/http-header-glue.c')
-rw-r--r--src/http-header-glue.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/http-header-glue.c b/src/http-header-glue.c
index 7d1effce..c79e86ac 100644
--- a/src/http-header-glue.c
+++ b/src/http-header-glue.c
@@ -184,6 +184,12 @@ const buffer * http_response_set_last_modified(request_st * const r, const time_
int http_response_handle_cachable(request_st * const r, const buffer * const lmod, const time_t lmtime) {
+ if (!(r->rqst_htags
+ & (light_bshift(HTTP_HEADER_IF_NONE_MATCH)
+ |light_bshift(HTTP_HEADER_IF_MODIFIED_SINCE)))) {
+ return HANDLER_GO_ON;
+ }
+
const buffer *vb;
/*