diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/api/api_test.go | 2 | ||||
| -rw-r--r-- | internal/discovery/discovery.go | 21 | ||||
| -rw-r--r-- | internal/server/secureinternet.go | 12 |
3 files changed, 30 insertions, 5 deletions
diff --git a/internal/api/api_test.go b/internal/api/api_test.go index 397dd3c..fcf02e9 100644 --- a/internal/api/api_test.go +++ b/internal/api/api_test.go @@ -196,7 +196,7 @@ func createTestAPI(t *testing.T, tok *eduoauth.Token, gt []string, hps []test.Ha Type: server.TypeCustom, BaseWK: serv.URL, BaseAuthWK: serv.URL, - ProcessAuth: func(ctx context.Context, in string) (string, error) { + ProcessAuth: func(_ context.Context, in string) (string, error) { return in, nil }, DisableAuthorize: false, diff --git a/internal/discovery/discovery.go b/internal/discovery/discovery.go index 30ca801..231c12a 100644 --- a/internal/discovery/discovery.go +++ b/internal/discovery/discovery.go @@ -405,3 +405,24 @@ func (discovery *Discovery) Servers(ctx context.Context) (*Servers, bool, error) } return &discovery.ServerList, true, nil } + +func (discovery *Discovery) UpdateServers(other Discovery) { + if other.ServerList.Version >= discovery.ServerList.Version { + discovery.ServerList = other.ServerList + } +} + +func (discovery *Discovery) Copy() (Discovery, error) { + var dest Discovery + b, err := json.Marshal(discovery) + if err != nil { + return dest, err + } + + err = json.Unmarshal(b, &dest) + if err != nil { + return dest, err + } + + return dest, nil +} diff --git a/internal/server/secureinternet.go b/internal/server/secureinternet.go index f167756..990ceb3 100644 --- a/internal/server/secureinternet.go +++ b/internal/server/secureinternet.go @@ -34,8 +34,10 @@ func (s *Servers) AddSecure(ctx context.Context, disco *discovery.Discovery, org BaseWK: dsrv.BaseURL, BaseAuthWK: dsrv.BaseURL, ProcessAuth: func(ctx context.Context, url string) (string, error) { - disco.Servers(ctx) - disco.Organizations(ctx) + // the only thing we can do is log warn + // this is already done in the functions + disco.Servers(ctx) //nolint:errcheck + disco.Organizations(ctx) //nolint:errcheck updorg, updsrv, err := disco.SecureHomeArgs(orgID) if err != nil { return "", err @@ -104,10 +106,12 @@ func (s *Servers) GetSecure(ctx context.Context, orgID string, disco *discovery. BaseWK: dloc.BaseURL, BaseAuthWK: dhome.BaseURL, ProcessAuth: func(ctx context.Context, url string) (string, error) { + // the only thing we can do is log warn + // this is already done in the functions disco.MarkServersExpired() - disco.Servers(ctx) + disco.Servers(ctx) //nolint:errcheck disco.MarkOrganizationsExpired() - disco.Organizations(ctx) + disco.Organizations(ctx) //nolint:errcheck updorg, updsrv, err := disco.SecureHomeArgs(orgID) if err != nil { return "", err |
