diff options
Diffstat (limited to 'internal/server/custom.go')
| -rw-r--r-- | internal/server/custom.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/server/custom.go b/internal/server/custom.go index 52a0094..4d3c91c 100644 --- a/internal/server/custom.go +++ b/internal/server/custom.go @@ -1,10 +1,31 @@ package server import ( + "errors" "fmt" "github.com/eduvpn/eduvpn-common/types" ) +func (servers *Servers) SetCustomServer(server Server) error { + errorMessage := "failed setting custom server" + base, baseErr := server.GetBase() + if baseErr != nil { + return &types.WrappedErrorMessage{Message: errorMessage, Err: baseErr} + } + + if base.Type != "custom_server" { + return &types.WrappedErrorMessage{Message: errorMessage, Err: errors.New("Not a custom server")} + } + + if _, ok := servers.CustomServers.Map[base.URL]; ok { + servers.CustomServers.CurrentURL = base.URL + servers.IsType = CustomServerType + } else { + return &types.WrappedErrorMessage{Message: errorMessage, Err: errors.New("Not a custom server")} + } + return nil +} + func (servers *Servers) GetCustomServer(url string) (*InstituteAccessServer, error) { if server, ok := servers.CustomServers.Map[url]; ok { return server, nil |
