From d27948ed9cc0539e46d23a6b796eec4385700e18 Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Thu, 11 Oct 2018 16:33:38 +0800 Subject: [PATCH] add function format_http_date --- HISTORY | 3 ++- src/shared_func.c | 10 ++++++++++ src/shared_func.h | 8 ++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/HISTORY b/HISTORY index 2192ec8..2295742 100644 --- a/HISTORY +++ b/HISTORY @@ -1,5 +1,5 @@ -Version 1.40 2018-09-27 +Version 1.40 2018-10-11 * add function conn_pool_parse_server_info and conn_pool_load_server_info * support directive: #@add_annotation, for example: #@add_annotation CONFIG_GET /usr/lib/libshmcache.so /etc/libshmcache.conf @@ -7,6 +7,7 @@ Version 1.40 2018-09-27 * add json_parser.[hc] for parse json array and map * add function fc_strdup * add function fc_memmem + * add function format_http_date Version 1.39 2018-07-31 * add #@function REPLACE_VARS diff --git a/src/shared_func.c b/src/shared_func.c index 4defaee..009ad79 100644 --- a/src/shared_func.c +++ b/src/shared_func.c @@ -2811,3 +2811,13 @@ const char *fc_memmem(const string_t *str, const string_t *needle) return NULL; } + +char *format_http_date(time_t t, BufferInfo *buffer) +{ + struct tm tm_info; + + gmtime_r(&t, &tm_info); + buffer->length = strftime(buffer->buff, buffer->alloc_size, + "%a, %d %b %Y %H:%M:%S GMT", &tm_info); + return buffer->buff; +} diff --git a/src/shared_func.h b/src/shared_func.h index d1cb224..f8029a4 100644 --- a/src/shared_func.h +++ b/src/shared_func.h @@ -832,6 +832,14 @@ char *fc_strdup(const char *str, const int len); */ const char *fc_memmem(const string_t *str, const string_t *needle); +/** format HTTP Date as: Sat, 11 Mar 2017 21:49:51 GMT + * parameters: + * t: the time to format + * buffer: the buffer + * return: formatted GMT date string +*/ +char *format_http_date(time_t t, BufferInfo *buffer); + #ifdef __cplusplus } #endif