aboutsummaryrefslogtreecommitdiff
path: root/navitia_api_client/client.go
diff options
context:
space:
mode:
authorJulien Dessaux2021-04-04 00:22:35 +0200
committerJulien Dessaux2021-04-04 00:22:35 +0200
commite5314fd75d63d56911769f636fdd1d91bfbfaff3 (patch)
tree0829daaab1a7ab526cf62875e4152855cb17e5ec /navitia_api_client/client.go
parentRenamed the api folder to something more specific (diff)
downloadtrains-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.go10
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),
}
}