diff options
Diffstat (limited to 'src/state.go')
| -rw-r--r-- | src/state.go | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/state.go b/src/state.go index 95bb75c..b9bb920 100644 --- a/src/state.go +++ b/src/state.go @@ -6,10 +6,10 @@ import ( type VPNState struct { // Info passed by the client - ConfigDirectory string `json:"-"` - Name string `json:"-"` - StateCallback func(string, string, string) string `json:"-"` - StateCallbackData string `json:"-"` + ConfigDirectory string `json:"-"` + Name string `json:"-"` + StateCallback func(string, string, string) string `json:"-"` + StateCallbackData string `json:"-"` // The chosen server Server *Server `json:"server"` @@ -93,14 +93,14 @@ func (state *VPNState) Connect(url string) (string, error) { state.GoTransition(AUTHENTICATED, "") } + state.GoTransition(REQUEST_CONFIG, "") + config, configErr := state.Server.GetConfig() if configErr != nil { return "", configErr - } - - if !state.HasTransition(CONNECTED) { - return "", errors.New("cannot connect to server, invalid state") + } else { + state.GoTransition(HAS_CONFIG, "") } return config, nil |
