Browse Source

Fixes #148 - use the *validate* processor for validation (#149)

Flashmob 6 years ago
parent
commit
07043ae76e
1 changed files with 4 additions and 2 deletions
  1. 4 2
      backends/gateway.go

+ 4 - 2
backends/gateway.go

@@ -455,11 +455,13 @@ func (gw *BackendGateway) workDispatcher(
 			return
 			return
 		case msg = <-workIn:
 		case msg = <-workIn:
 			state = dispatcherStateWorking // recovers from panic if in this state
 			state = dispatcherStateWorking // recovers from panic if in this state
-			result, err := save.Process(msg.e, msg.task)
-			state = dispatcherStateNotify
 			if msg.task == TaskSaveMail {
 			if msg.task == TaskSaveMail {
+				result, err := save.Process(msg.e, msg.task)
+				state = dispatcherStateNotify
 				msg.notifyMe <- &notifyMsg{err: err, result: result, queuedID: msg.e.QueuedId}
 				msg.notifyMe <- &notifyMsg{err: err, result: result, queuedID: msg.e.QueuedId}
 			} else {
 			} else {
+				result, err := validate.Process(msg.e, msg.task)
+				state = dispatcherStateNotify
 				msg.notifyMe <- &notifyMsg{err: err, result: result}
 				msg.notifyMe <- &notifyMsg{err: err, result: result}
 			}
 			}
 		}
 		}