From 86fa943725b5f7565133fd513da8d836f5f9c049 Mon Sep 17 00:00:00 2001 From: Adrian Villin Date: Thu, 8 Aug 2024 08:56:34 +0200 Subject: http_static: make max-age configurable Type: improvement Change-Id: I629add6e3f4219d56610c3785013f69dbe847844 Signed-off-by: Adrian Villin --- src/plugins/http_static/static_server.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/plugins/http_static/static_server.c') diff --git a/src/plugins/http_static/static_server.c b/src/plugins/http_static/static_server.c index b47fc9c3f0b..40de6cb578d 100644 --- a/src/plugins/http_static/static_server.c +++ b/src/plugins/http_static/static_server.c @@ -475,10 +475,9 @@ try_file_handler (hss_main_t *hsm, hss_session_t *hs, http_req_method_t rt, http_add_header (&hs->resp_headers, http_header_name_token (HTTP_HEADER_CONTENT_TYPE), http_content_type_token (type)); - /* TODO configurable max-age value */ - http_add_header (&hs->resp_headers, - http_header_name_token (HTTP_HEADER_CACHE_CONTROL), - http_token_lit ("max-age=600")); + http_add_header ( + &hs->resp_headers, http_header_name_token (HTTP_HEADER_CACHE_CONTROL), + (const char *) hsm->max_age_formatted, vec_len (hsm->max_age_formatted)); done: vec_free (sanitized_path); @@ -863,6 +862,8 @@ hss_create (vlib_main_t *vm) if (hsm->enable_url_handlers) hss_url_handlers_init (hsm); + hsm->max_age_formatted = format (0, "max-age=%d", hsm->max_age); + return 0; } @@ -883,6 +884,7 @@ hss_create_command_fn (vlib_main_t *vm, unformat_input_t *input, hsm->private_segment_size = 0; hsm->fifo_size = 0; hsm->cache_size = 10 << 20; + hsm->max_age = HSS_DEFAULT_MAX_AGE; /* Get a line of input. */ if (!unformat_user (input, unformat_line_input, line_input)) @@ -914,6 +916,8 @@ hss_create_command_fn (vlib_main_t *vm, unformat_input_t *input, ; else if (unformat (line_input, "url-handlers")) hsm->enable_url_handlers = 1; + else if (unformat (line_input, "max-age %d", &hsm->max_age)) + ; else { error = clib_error_return (0, "unknown input `%U'", @@ -971,8 +975,8 @@ VLIB_CLI_COMMAND (hss_create_command, static) = { .path = "http static server", .short_help = "http static server www-root [prealloc-fifos ]\n" - "[private-segment-size ] [fifo-size ] [uri ]\n" - "[ptr-thresh ] [url-handlers] [debug [nn]]\n", + "[private-segment-size ] [fifo-size ] [max-age ]\n" + "[uri ] [ptr-thresh ] [url-handlers] [debug [nn]]\n", .function = hss_create_command_fn, }; -- cgit 1.2.3-korg