diff options
author | Julien Dessaux | 2021-04-04 00:22:35 +0200 |
---|---|---|
committer | Julien Dessaux | 2021-04-04 00:22:35 +0200 |
commit | e5314fd75d63d56911769f636fdd1d91bfbfaff3 (patch) | |
tree | 0829daaab1a7ab526cf62875e4152855cb17e5ec /navitia_api_client/client.go | |
parent | Renamed the api folder to something more specific (diff) | |
download | trains-e5314fd75d63d56911769f636fdd1d91bfbfaff3.tar.gz trains-e5314fd75d63d56911769f636fdd1d91bfbfaff3.tar.bz2 trains-e5314fd75d63d56911769f636fdd1d91bfbfaff3.zip |
Added 60 seconds caching to navitia api departures requests
Diffstat (limited to '')
-rw-r--r-- | navitia_api_client/client.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/navitia_api_client/client.go b/navitia_api_client/client.go index d08ca19..aef8d0e 100644 --- a/navitia_api_client/client.go +++ b/navitia_api_client/client.go @@ -3,12 +3,21 @@ package navitia_api_client import ( "fmt" "net/http" + "sync" "time" ) type Client struct { baseURL string httpClient *http.Client + + mutex sync.Mutex + cache map[string]cachedResult +} + +type cachedResult struct { + ts time.Time + result interface{} } func NewClient(token string) *Client { @@ -17,5 +26,6 @@ func NewClient(token string) *Client { httpClient: &http.Client{ Timeout: time.Minute, }, + cache: make(map[string]cachedResult), } } |