From d98dee68ba2ce1e0fe663fe06b469fca25205842 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 18 Dec 2015 03:40:42 +0100 Subject: added check for existence of requested session diff --git a/src/helsinki.at/rhimport/session.go b/src/helsinki.at/rhimport/session.go index 37a4b54..219c233 100644 --- a/src/helsinki.at/rhimport/session.go +++ b/src/helsinki.at/rhimport/session.go @@ -138,7 +138,11 @@ func (self *SessionStore) NewSession(ctx ImportContext) (string, error) { } func (self *SessionStore) run(user, id string) (resp sessionRunResponse) { - rhdl.Printf("SessionStore: running session '%s/%s'", user, id) + if _, exists := self.store[user][id]; exists { + rhdl.Printf("SessionStore: running session '%s/%s'", user, id) + } else { + resp.err = fmt.Errorf("SessionStore: session '%s/%s' not found", user, id) + } return } @@ -154,7 +158,11 @@ func (self *SessionStore) Run(user, id string) error { } func (self *SessionStore) addProgressHandler(user, id string, userdata interface{}, handler chan ProgressData) (resp sessionAddProgressHandlerResponse) { - rhdl.Printf("SessionStore: adding progress handler to '%s/%s'", user, id) + if _, exists := self.store[user][id]; exists { + rhdl.Printf("SessionStore: adding progress handler to '%s/%s'", user, id) + } else { + resp.err = fmt.Errorf("SessionStore: session '%s/%s' not found", user, id) + } return } @@ -172,7 +180,11 @@ func (self *SessionStore) AddProgressHandler(user, id string, userdata interface } func (self *SessionStore) addDoneHandler(user, id string, userdata interface{}, handler chan ImportResult) (resp sessionAddDoneHandlerResponse) { - rhdl.Printf("SessionStore: adding done handler to '%s/%s'", user, id) + if _, exists := self.store[user][id]; exists { + rhdl.Printf("SessionStore: adding done handler to '%s/%s'", user, id) + } else { + resp.err = fmt.Errorf("SessionStore: session '%s/%s' not found", user, id) + } return } -- cgit v0.10.2