summaryrefslogtreecommitdiff
path: root/internal/server/custom.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/server/custom.go')
-rw-r--r--internal/server/custom.go21
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