Skip to content
Snippets Groups Projects
Commit 3f674159 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Maybe now cache will work?

parent 5bc6406e
No related branches found
No related tags found
No related merge requests found
......@@ -22,32 +22,11 @@ type ApiClient struct {
const cacheTimestamp = "2006-01-02T15:04"
func (c *ApiClient) loadWithCache(key string, result interface{}, load func() (interface{}, error)) error {
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
}
_ = targetCache.Set(key, result)
}
return nil
}
}
var err error
if result, err = load(); err == nil {
for _, cache := range c.Caches {
_ = cache.Set(key, result)
}
}
return err
}
func (c *ApiClient) Station(evaId int64) ([]Station, error) {
key := fmt.Sprintf("realtime_recent %d", evaId)
var result []Station
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
if err := cache.Get(key, &result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
......@@ -94,7 +73,7 @@ func (c *ApiClient) Timetable(evaId int64, date time.Time) (Timetable, error) {
var result Timetable
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
if err := cache.Get(key, &result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
......@@ -142,7 +121,7 @@ func (c *ApiClient) RealtimeAll(evaId int64, date time.Time) (Timetable, error)
var result Timetable
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
if err := cache.Get(key, &result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
......@@ -189,7 +168,7 @@ func (c *ApiClient) RealtimeRecent(evaId int64, date time.Time) (Timetable, erro
var result Timetable
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
if err := cache.Get(key, &result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
......@@ -236,7 +215,7 @@ func (c *ApiClient) WingDefinition(parent string, wing string) (WingDefinition,
var result WingDefinition
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
if err := cache.Get(key, &result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
......@@ -283,7 +262,7 @@ func (c *ApiClient) CoachSequence(line string, date time.Time) (CoachSequence, e
var result CoachSequence
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
if err := cache.Get(key, &result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
......@@ -330,7 +309,7 @@ func (c *ApiClient) Suggestions(line string, date time.Time) ([]Suggestion, erro
var result []Suggestion
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
if err := cache.Get(key, &result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
......@@ -398,7 +377,7 @@ func (c *ApiClient) HafasMessages(trainlink string) ([]HafasMessage, error) {
var result []HafasMessage
for _, cache := range c.Caches {
if err := cache.Get(key, result); err == nil {
if err := cache.Get(key, &result); err == nil {
for _, targetCache := range c.Caches {
if targetCache == cache {
break
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment