From 4b2723d74be6b7ec1145d2ca1355ad0ee4532450 Mon Sep 17 00:00:00 2001
From: "Dmitriy A. Gerasimov" <dmitriy.gerasimov@demlabs.net>
Date: Tue, 16 Feb 2021 14:21:09 +0700
Subject: [PATCH] [+] Some updates for cache

---
 dap-sdk/net/server/http_server/dap_http_cache.c        | 10 ++++++++++
 .../service/vpn/include/dap_chain_net_srv_vpn_cdb.h    |  3 +++
 2 files changed, 13 insertions(+)

diff --git a/dap-sdk/net/server/http_server/dap_http_cache.c b/dap-sdk/net/server/http_server/dap_http_cache.c
index 5980b5e030..eb2ba07699 100644
--- a/dap-sdk/net/server/http_server/dap_http_cache.c
+++ b/dap-sdk/net/server/http_server/dap_http_cache.c
@@ -36,8 +36,18 @@ dap_http_cache_t * dap_http_cache_update(struct dap_http_url_proc * a_url_proc,
         l_ret->body_size = a_body_size;
     }
     l_ret->headers =  dap_http_headers_dup( a_headers);
+
+
     l_ret->ts_expire = a_ts_expire;
     l_ret->url_proc = a_url_proc;
+
+    //Here we cut off 'Date' header because we add it new on each cached request
+    dap_http_header_t * l_hdr_date= dap_http_header_find(l_ret->headers,"Date");
+    if(l_hdr_date)
+        dap_http_header_remove(&l_ret->headers,l_hdr_date);
+
+
+    // Reset current cache for url_proc and replace with our own
     pthread_rwlock_wrlock(&a_url_proc->cache_rwlock);
     dap_http_cache_delete(a_url_proc->cache);
     a_url_proc->cache = l_ret;
diff --git a/modules/service/vpn/include/dap_chain_net_srv_vpn_cdb.h b/modules/service/vpn/include/dap_chain_net_srv_vpn_cdb.h
index 7f3614c959..94e0772aa5 100644
--- a/modules/service/vpn/include/dap_chain_net_srv_vpn_cdb.h
+++ b/modules/service/vpn/include/dap_chain_net_srv_vpn_cdb.h
@@ -25,9 +25,12 @@
 #pragma once
 #include "dap_http.h"
 #include "dap_enc_http.h"
+#include "dap_config.h"
 
 #define DAP_CHAIN_NET_SRV_VPN_CDB_GDB_PREFIX "srv.vpn"
 
+extern dap_config_t * g_dap_config_cdb;
+
 int dap_chain_net_srv_vpn_cdb_init(dap_http_t * a_http);
 void dap_chain_net_srv_vpn_cdb_deinit();
 void dap_chain_net_srv_vpn_cdb_auth_after(enc_http_delegate_t* a_delegate, const char * a_login, const char * a_pkey_b64 );
-- 
GitLab