|
|
|
@ -90,6 +90,12 @@ func (c *Client) updateHandler() {
|
|
|
|
|
}
|
|
|
|
|
c.updateFile(typedUpdate)
|
|
|
|
|
log.Debugf("%#v", typedUpdate.File)
|
|
|
|
|
case client.TypeUpdateAuthorizationState:
|
|
|
|
|
typedUpdate, ok := update.(*client.UpdateAuthorizationState)
|
|
|
|
|
if !ok {
|
|
|
|
|
uhOh()
|
|
|
|
|
}
|
|
|
|
|
c.updateAuthorizationState(typedUpdate)
|
|
|
|
|
default:
|
|
|
|
|
// log only handled types
|
|
|
|
|
continue
|
|
|
|
@ -242,3 +248,13 @@ func (c *Client) updateFile(update *client.UpdateFile) {
|
|
|
|
|
log.Errorf("Error creating symlink: %v", err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (c *Client) updateAuthorizationState(update *client.UpdateAuthorizationState) {
|
|
|
|
|
switch update.AuthorizationState.AuthorizationStateType() {
|
|
|
|
|
case client.TypeAuthorizationStateClosing:
|
|
|
|
|
log.Warn("Closing the updates listener")
|
|
|
|
|
case client.TypeAuthorizationStateClosed:
|
|
|
|
|
log.Warn("Closed the updates listener")
|
|
|
|
|
c.forceClose()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|