Browse Source

update cf connector to use slog instead

Signed-off-by: Taylor Silva <dev@taydev.net>
pull/1624/head
Taylor Silva 1 year ago committed by CI Bot
parent
commit
cc648ece2c
  1. 21
      connector/cloudfoundry/cloudfoundry.go
  2. 6
      connector/cloudfoundry/cloudfoundry_test.go

21
connector/cloudfoundry/cloudfoundry.go

@ -7,6 +7,7 @@ import (
"encoding/json"
"errors"
"fmt"
"log/slog"
"net"
"net/http"
"os"
@ -17,7 +18,6 @@ import (
"golang.org/x/oauth2"
"github.com/dexidp/dex/connector"
"github.com/dexidp/dex/pkg/log"
)
type cloudfoundryConnector struct {
@ -29,7 +29,7 @@ type cloudfoundryConnector struct {
authorizationURL string
userInfoURL string
httpClient *http.Client
logger log.Logger
logger *slog.Logger
}
type connectorData struct {
@ -106,7 +106,7 @@ type login struct {
Href string `json:"href"`
}
func (c *Config) Open(id string, logger log.Logger) (connector.Connector, error) {
func (c *Config) Open(id string, logger *slog.Logger) (connector.Connector, error) {
var err error
cloudfoundryConn := &cloudfoundryConnector{
@ -125,16 +125,14 @@ func (c *Config) Open(id string, logger log.Logger) (connector.Connector, error)
apiURL := strings.TrimRight(c.APIURL, "/")
apiResp, err := cloudfoundryConn.httpClient.Get(apiURL)
if err != nil {
logger.Errorf("failed-to-send-request-to-cloud-controller-api", err)
return nil, err
return nil, fmt.Errorf("failed-to-send-request-to-cloud-controller-api: %w", err)
}
defer apiResp.Body.Close()
if apiResp.StatusCode != http.StatusOK {
err = fmt.Errorf("request failed with status %d", apiResp.StatusCode)
logger.Errorf("failed-get-info-response-from-api", err)
return nil, err
return nil, fmt.Errorf("failed-get-info-response-from-api: %w", err)
}
var apiResult infoResp
@ -144,14 +142,12 @@ func (c *Config) Open(id string, logger log.Logger) (connector.Connector, error)
uaaURL := strings.TrimRight(apiResult.Links.Login.Href, "/")
uaaResp, err := cloudfoundryConn.httpClient.Get(fmt.Sprintf("%s/.well-known/openid-configuration", uaaURL))
if err != nil {
logger.Errorf("failed-to-send-request-to-uaa-api", err)
return nil, err
return nil, fmt.Errorf("failed-to-send-request-to-uaa-api: %w", err)
}
if apiResp.StatusCode != http.StatusOK {
err = fmt.Errorf("request failed with status %d", apiResp.StatusCode)
logger.Errorf("failed-to-get-well-known-config-response-from-api", err)
return nil, err
return nil, fmt.Errorf("failed-to-get-well-known-config-response-from-api: %w", err)
}
defer uaaResp.Body.Close()
@ -160,8 +156,7 @@ func (c *Config) Open(id string, logger log.Logger) (connector.Connector, error)
err = json.NewDecoder(uaaResp.Body).Decode(&uaaResult)
if err != nil {
logger.Errorf("failed-to-decode-response-from-uaa-api", err)
return nil, err
return nil, fmt.Errorf("failed-to-decode-response-from-uaa-api: %w", err)
}
cloudfoundryConn.tokenURL, _ = uaaResult["token_endpoint"].(string)

6
connector/cloudfoundry/cloudfoundry_test.go

@ -4,14 +4,14 @@ import (
"encoding/json"
"errors"
"fmt"
"io"
"log/slog"
"net/http"
"net/http/httptest"
"reflect"
"strings"
"testing"
"github.com/sirupsen/logrus"
"github.com/dexidp/dex/connector"
)
@ -510,7 +510,7 @@ func newConnector(t *testing.T, serverURL string) *cloudfoundryConnector {
InsecureSkipVerify: true,
}
log := logrus.New()
log := slog.New(slog.NewTextHandler(io.Discard, &slog.HandlerOptions{}))
conn, err := testConfig.Open("id", log)
if err != nil {

Loading…
Cancel
Save