From 1ffc9c42054e208a01d3e70e6b6f3e1781e798f8 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Mon, 5 Apr 2021 17:52:31 +0200 Subject: Moved code around to conform best practices --- pkg/navitia_api_client/client.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 pkg/navitia_api_client/client.go (limited to 'pkg/navitia_api_client/client.go') diff --git a/pkg/navitia_api_client/client.go b/pkg/navitia_api_client/client.go new file mode 100644 index 0000000..aef8d0e --- /dev/null +++ b/pkg/navitia_api_client/client.go @@ -0,0 +1,31 @@ +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 { + return &Client{ + baseURL: fmt.Sprintf("https://%s@api.sncf.com/v1", token), + httpClient: &http.Client{ + Timeout: time.Minute, + }, + cache: make(map[string]cachedResult), + } +} -- cgit v1.2.3