working prototype

This commit is contained in:
Xavier Henner
2019-08-16 17:23:19 +02:00
parent a82131c8c8
commit 9eff9ce803
23 changed files with 1029 additions and 303 deletions

View File

@@ -15,7 +15,10 @@ import (
"time"
)
func (s *OpenVpnMgt) getServerList() error {
type ExpressVPN struct {
}
func (s *ExpressVPN) ServerList() (error, *[]string) {
var mux sync.Mutex
requestCount := 0
VPNNames := map[string]bool{}
@@ -28,12 +31,12 @@ func (s *OpenVpnMgt) getServerList() error {
// Make request
resp, err := client.Get("https://www.expressvpn.com/vpn-server")
if err != nil {
return err
return err, nil
}
defer resp.Body.Close()
if resp.StatusCode != 200 {
return errors.New(fmt.Sprintf("Server List URL is not valid (%d)\n", resp.StatusCode))
return errors.New(fmt.Sprintf("Server List URL is not valid (%d)\n", resp.StatusCode)), nil
}
buf := bufio.NewReader(bufio.NewReader(resp.Body))
@@ -84,7 +87,7 @@ func (s *OpenVpnMgt) getServerList() error {
}
if len(VPNNames) == 0 {
return errors.New("Can't get a list of VPN endpoints")
return errors.New("Can't get a list of VPN endpoints"), nil
}
// add the right values
@@ -93,8 +96,5 @@ func (s *OpenVpnMgt) getServerList() error {
keys = append(keys, k)
}
s.Lock()
s.VpnRemotes = keys
s.Unlock()
return nil
return nil, &keys
}