diff options
-rw-r--r-- | src/datatype/event.rs | 2 | ||||
-rw-r--r-- | src/interpreter.rs | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/datatype/event.rs b/src/datatype/event.rs index 2d6f895..93ed4ec 100644 --- a/src/datatype/event.rs +++ b/src/datatype/event.rs @@ -14,6 +14,8 @@ pub enum Event { Authenticated, /// An operation failed because we are not currently authenticated. NotAuthenticated, + /// Nothing was done as we are already authenticated. + AlreadyAuthenticated, /// A notification from Core of pending or in-flight updates. UpdatesReceived(Vec<UpdateRequest>), diff --git a/src/interpreter.rs b/src/interpreter.rs index 1d73e1d..6908028 100644 --- a/src/interpreter.rs +++ b/src/interpreter.rs @@ -143,6 +143,7 @@ impl<'t> Interpreter<Interpret, Event> for GlobalInterpreter<'t> { Err(Error::HttpAuth(resp)) => { error!("HTTP authorization failed: {}", resp); + self.token = None; let ev = Event::NotAuthenticated; etx.send(ev.clone()); response_ev = Some(ev); @@ -167,7 +168,7 @@ impl<'t> GlobalInterpreter<'t> { // always send at least one Event response match cmd { - Command::Authenticate(_) => etx.send(Event::Authenticated), + Command::Authenticate(_) => etx.send(Event::AlreadyAuthenticated), Command::GetUpdateRequests => { let mut updates = try!(sota.get_update_requests()); |