Addressed @mukundansundar's review feedback

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
This commit is contained in:
ItalyPaleAle 2022-10-06 18:57:33 +00:00
parent 78c7373784
commit b59b443ffb
3 changed files with 9 additions and 6 deletions

View File

@ -107,7 +107,7 @@ func (m *Middleware) GetHandler(metadata middleware.Metadata) (func(next http.Ha
redirectURL, ok := session.Get(redirectPath).(*url.URL)
if !ok {
httputils.RespondWithError(w, http.StatusInternalServerError)
m.logger.Errorf("Value saved in state key '%s' is not a *url.URL")
m.logger.Errorf("Value saved in state key '%s' is not a *url.URL", redirectPath)
return
}
@ -129,7 +129,7 @@ func (m *Middleware) GetHandler(metadata middleware.Metadata) (func(next http.Ha
token, err := conf.Exchange(r.Context(), code)
if err != nil {
httputils.RespondWithError(w, http.StatusInternalServerError)
m.logger.Errorf("Failed to exchange token: %v", err)
m.logger.Error("Failed to exchange token")
return
}

View File

@ -77,7 +77,7 @@ func (m *Middleware) GetHandler(metadata middleware.Metadata) (func(next http.Ha
endpointParams, err := url.ParseQuery(meta.EndpointParamsQuery)
if err != nil {
m.log.Errorf("Error parsing endpoint parameters: %s", err)
m.log.Warnf("Error parsing endpoint parameters: %s", err)
endpointParams, _ = url.ParseQuery("")
}

View File

@ -25,6 +25,7 @@ import (
"net/textproto"
"strconv"
"strings"
"time"
"github.com/open-policy-agent/opa/rego"
"k8s.io/utils/strings/slices"
@ -111,10 +112,12 @@ func (m *Middleware) GetHandler(metadata middleware.Metadata) (func(next http.Ha
return nil, err
}
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
query, err := rego.New(
rego.Query("result = data.http.allow"),
rego.Module("inline.rego", meta.Rego),
).PrepareForEval(context.Background())
).PrepareForEval(ctx)
cancel()
if err != nil {
return nil, err
}
@ -133,8 +136,8 @@ func (m *Middleware) evalRequest(w http.ResponseWriter, r *http.Request, meta *m
headers := map[string]string{}
for key, value := range r.Header {
if slices.Contains(meta.includedHeadersParsed, key) {
headers[key] = value[0]
if len(value) > 0 && slices.Contains(meta.includedHeadersParsed, key) {
headers[key] = value[len(value)-1]
}
}