From 3d334dca671898241732dbc0ef6838b768308da7 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 21 Sep 2023 02:18:35 +0000 Subject: Implement If-Modified-Since Signed-off-by: Laurent Bercot --- .../tipidee_response_header_lastmodified.c | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/libtipidee/tipidee_response_header_lastmodified.c (limited to 'src/libtipidee/tipidee_response_header_lastmodified.c') diff --git a/src/libtipidee/tipidee_response_header_lastmodified.c b/src/libtipidee/tipidee_response_header_lastmodified.c new file mode 100644 index 0000000..3b3caa6 --- /dev/null +++ b/src/libtipidee/tipidee_response_header_lastmodified.c @@ -0,0 +1,24 @@ +/* ISC license. */ + +#include + +#include +#include +#include + +#include + +size_t tipidee_response_header_lastmodified (char *s, size_t max, struct stat const *st) +{ + tain t ; + size_t l ; + if (max < 17) return (errno = ENOBUFS, 0) ; + if (!tain_from_timespec(&t, &st->st_mtim)) return 0 ; + memcpy(s, "Last-Modified: ", 15) ; + l = tipidee_response_header_date_fmt(s + 15, max - 15, &t) ; + if (!l) return 0 ; + if (l + 17 > max) return (errno = ENOBUFS, 0) ; + l += 15 ; + s[l++] = '\r' ; s[l++] = '\n' ; + return l ; +} -- cgit v1.3.1