diff --git a/state/ephemeral.go b/state/ephemeral.go index 0d3704074847b6e350796ce6783a66587b73e48a..dc04c387d2da9d6234e62a6471ef403f9c6ff978 100644 --- a/state/ephemeral.go +++ b/state/ephemeral.go @@ -20,7 +20,7 @@ func NewEphemeralStore() *Ephemeral { } -func ( e *Ephemeral ) Add( i *Item ) error { +func ( e *Ephemeral ) Add( i Item ) error { if e.store == nil { return errors.New( "ephemeral storage not available" ) } @@ -60,7 +60,7 @@ func ( e *Ephemeral ) Fetch( name string ) ( *Item, error ) { if !found { return nil, nil } - return item, nil + return &item, nil } diff --git a/state/item.go b/state/item.go index ccfea74f834450aaf5b10d6504ff94d9e52c25e1..dee218a6bc44862bb8ef022dafe2951213f3ec40 100644 --- a/state/item.go +++ b/state/item.go @@ -8,8 +8,8 @@ type Item struct { } -func NewItem( name string, mimeType string, data []byte ) *Item { - return &Item{ +func NewItem( name string, mimeType string, data []byte ) Item { + return Item{ name: name, mimeType: mimeType, data: data, diff --git a/state/persistent.go b/state/persistent.go index ae232644fcbe52593273b492bd75b42d765306c3..b005e428f9f5701e34836cc3c8899630e71786d8 100644 --- a/state/persistent.go +++ b/state/persistent.go @@ -44,7 +44,7 @@ func NewPersistentStore( c *configuration.Config ) *Persistent { } -func ( e *Persistent ) Add( i *Item ) error { +func ( e *Persistent ) Add( i Item ) error { ctx, cancel := context.WithTimeout( context.TODO(), e.timeout ) defer cancel() @@ -82,7 +82,8 @@ func ( e *Persistent ) Fetch( name string ) ( *Item, error ) { var item *Item = nil if len( value ) >= 1 { - item = NewItem( name, value[ "mime" ], []byte( value[ "data" ] ) ) + i := NewItem( name, value[ "mime" ], []byte( value[ "data" ] ) ) + item = &i } return item, nil } diff --git a/state/store.go b/state/store.go index c8ec606aacf99790fedf1b2efc038f68190cbcb4..ec39599ecedae71864ff75a11ac69467f49124a4 100644 --- a/state/store.go +++ b/state/store.go @@ -3,7 +3,7 @@ package state type Store interface { - Add( i *Item ) error + Add( i Item ) error Remove( name string ) error Fetch( name string ) ( *Item, error ) Show() ( []string, error )