diff options
Diffstat (limited to 'internal/server')
| -rw-r--r-- | internal/server/api.go | 10 | ||||
| -rw-r--r-- | internal/server/base.go | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/internal/server/api.go b/internal/server/api.go index 2ce3db5..1ac3164 100644 --- a/internal/server/api.go +++ b/internal/server/api.go @@ -19,7 +19,8 @@ func APIGetEndpoints(baseURL string) (*Endpoints, error) { } u.Path = path.Join(u.Path, "/.well-known/vpn-user-portal") - _, body, err := httpw.Get(u.String()) + c := httpw.NewClient() + _, body, err := c.Get(u.String()) if err != nil { return nil, errors.WrapPrefix(err, "failed getting server endpoints", 0) } @@ -68,7 +69,12 @@ func apiAuthorized( } else { opts.Headers = http.Header{key: {val}} } - return httpw.MethodWithOpts(method, u.String(), opts) + + // Create a client if it doesn't exist + if b.httpClient == nil { + b.httpClient = httpw.NewClient() + } + return b.httpClient.Do(method, u.String(), opts) } func apiAuthorizedRetry( diff --git a/internal/server/base.go b/internal/server/base.go index dd15aff..55fff09 100644 --- a/internal/server/base.go +++ b/internal/server/base.go @@ -2,6 +2,7 @@ package server import ( "time" + "github.com/eduvpn/eduvpn-common/internal/http" ) // Base is the base type for servers. @@ -14,6 +15,7 @@ type Base struct { StartTime time.Time `json:"start_time"` EndTime time.Time `json:"expire_time"` Type string `json:"server_type"` + httpClient *http.Client } func (b *Base) InitializeEndpoints() error { |
