diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2024-07-17 11:20:59 +0200 |
|---|---|---|
| committer | Jeroen Wijenbergh <46386452+jwijenbergh@users.noreply.github.com> | 2024-07-17 14:00:03 +0000 |
| commit | 7276108171b1c6af417ce5ae86ef0221280932c1 (patch) | |
| tree | 3decc148de89b9ae3b3b6d04de35fea71ffb4c3b /internal/server/servers.go | |
| parent | 5362dd10bf13f8087a13a4ab5441efa04755fcc7 (diff) | |
Client + Server: Pass discovery manager and lock when needed
Diffstat (limited to 'internal/server/servers.go')
| -rw-r--r-- | internal/server/servers.go | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/internal/server/servers.go b/internal/server/servers.go index 8285801..d06c37d 100644 --- a/internal/server/servers.go +++ b/internal/server/servers.go @@ -54,12 +54,12 @@ type CurrentServer struct { } // ServerWithCallbacks gets the current server as a server struct and triggers callbacks as needed -func (cs *CurrentServer) ServerWithCallbacks(ctx context.Context, disco *discovery.Discovery, tokens *eduoauth.Token, disableAuth bool) (*Server, error) { +func (cs *CurrentServer) ServerWithCallbacks(ctx context.Context, discom *discovery.Manager, tokens *eduoauth.Token, disableAuth bool) (*Server, error) { switch cs.Key.T { case srvtypes.TypeInstituteAccess: - return cs.srvs.GetInstitute(ctx, cs.Key.ID, disco, tokens, disableAuth) + return cs.srvs.GetInstitute(ctx, cs.Key.ID, discom, tokens, disableAuth) case srvtypes.TypeSecureInternet: - return cs.srvs.GetSecure(ctx, cs.Key.ID, disco, tokens, disableAuth) + return cs.srvs.GetSecure(ctx, cs.Key.ID, discom, tokens, disableAuth) case srvtypes.TypeCustom: return cs.srvs.GetCustom(ctx, cs.Key.ID, tokens, disableAuth) default: @@ -89,7 +89,9 @@ func (s *Servers) CurrentServer() (*CurrentServer, error) { } // PublicCurrent gets the current server into a type that we can return to the client -func (s *Servers) PublicCurrent(disco *discovery.Discovery) (*srvtypes.Current, error) { +func (s *Servers) PublicCurrent(discom *discovery.Manager) (*srvtypes.Current, error) { + disco, release := discom.Discovery(false) + defer release() return s.config.PublicCurrent(disco) } |
