Skip to content

Commit

Permalink
change after PR review
Browse files Browse the repository at this point in the history
  • Loading branch information
davidebianchi committed Jun 27, 2023
1 parent 1ce64eb commit 491aa9b
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 18 deletions.
4 changes: 2 additions & 2 deletions core/input.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ func CreateRegoQueryInput(
}

type RondInput interface {
FromRequestInfo(user types.User, responseBody any) (Input, error)
Input(user types.User, responseBody any) (Input, error)
}

type requestInfo struct {
Expand All @@ -122,7 +122,7 @@ type requestInfo struct {
pathParams map[string]string
}

func (req requestInfo) FromRequestInfo(user types.User, responseBody any) (Input, error) {
func (req requestInfo) Input(user types.User, responseBody any) (Input, error) {
shouldParseJSONBody := utils.HasApplicationJSONContentType(req.Header) &&
req.ContentLength > 0 &&
(req.Method == http.MethodPatch || req.Method == http.MethodPost || req.Method == http.MethodPut || req.Method == http.MethodDelete)
Expand Down
12 changes: 6 additions & 6 deletions core/input_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ func TestRondInput(t *testing.T) {
req := httptest.NewRequest(http.MethodGet, "/", bytes.NewReader(reqBodyBytes))

rondRequest := NewRondInput(req, clientTypeHeaderKey, pathParams)
input, err := rondRequest.FromRequestInfo(user, nil)
input, err := rondRequest.Input(user, nil)
require.NoError(t, err, "Unexpected error")
require.Nil(t, input.Request.Body)
})
Expand All @@ -276,7 +276,7 @@ func TestRondInput(t *testing.T) {
req.Header.Set(utils.ContentTypeHeaderKey, "application/json")

rondRequest := NewRondInput(req, clientTypeHeaderKey, pathParams)
input, err := rondRequest.FromRequestInfo(user, nil)
input, err := rondRequest.Input(user, nil)
require.NoError(t, err, "Unexpected error")
require.Nil(t, input.Request.Body)
})
Expand All @@ -288,7 +288,7 @@ func TestRondInput(t *testing.T) {
req := httptest.NewRequest(method, "/", bytes.NewReader(reqBodyBytes))
req.Header.Set(utils.ContentTypeHeaderKey, "application/json")
rondRequest := NewRondInput(req, clientTypeHeaderKey, pathParams)
input, err := rondRequest.FromRequestInfo(user, nil)
input, err := rondRequest.Input(user, nil)
require.NoError(t, err, "Unexpected error")
require.Equal(t, expectedRequestBody, input.Request.Body)
}
Expand All @@ -298,7 +298,7 @@ func TestRondInput(t *testing.T) {
req := httptest.NewRequest(http.MethodPost, "/", bytes.NewReader(reqBodyBytes))
req.Header.Set(utils.ContentTypeHeaderKey, "application/json;charset=UTF-8")
rondRequest := NewRondInput(req, clientTypeHeaderKey, pathParams)
input, err := rondRequest.FromRequestInfo(user, nil)
input, err := rondRequest.Input(user, nil)
require.NoError(t, err, "Unexpected error")
require.Equal(t, expectedRequestBody, input.Request.Body)
})
Expand All @@ -307,7 +307,7 @@ func TestRondInput(t *testing.T) {
req := httptest.NewRequest(http.MethodPost, "/", bytes.NewReader([]byte("{notajson}")))
req.Header.Set(utils.ContentTypeHeaderKey, "application/json")
rondRequest := NewRondInput(req, clientTypeHeaderKey, pathParams)
_, err := rondRequest.FromRequestInfo(user, nil)
_, err := rondRequest.Input(user, nil)
require.ErrorContains(t, err, "failed request body deserialization:")
})

Expand All @@ -316,7 +316,7 @@ func TestRondInput(t *testing.T) {
req.Header.Set(utils.ContentTypeHeaderKey, "multipart/form-data")

rondRequest := NewRondInput(req, clientTypeHeaderKey, pathParams)
input, err := rondRequest.FromRequestInfo(user, nil)
input, err := rondRequest.Input(user, nil)
require.NoError(t, err, "Unexpected error")
require.Nil(t, input.Request.Body)
})
Expand Down
4 changes: 2 additions & 2 deletions core/opa_transport.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ func (t *OPATransport) RoundTrip(req *http.Request) (resp *http.Response, err er
}

pathParams := mux.Vars(t.request)
rondReq := NewRondInput(t.request, t.clientHeaderKey, pathParams)
input := NewRondInput(t.request, t.clientHeaderKey, pathParams)

responseBody, err := t.evaluatorSDK.EvaluateResponsePolicy(t.context, rondReq, userInfo, decodedBody)
responseBody, err := t.evaluatorSDK.EvaluateResponsePolicy(t.context, input, userInfo, decodedBody)
if err != nil {
t.responseWithError(resp, err, http.StatusForbidden)
return resp, nil
Expand Down
2 changes: 1 addition & 1 deletion core/opamiddleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ func OPAMiddleware(
return
}

ctx := WithEvaluatorSKD(r.Context(), evaluator)
ctx := WithEvaluatorSDK(r.Context(), evaluator)

next.ServeHTTP(w, r.WithContext(ctx))
})
Expand Down
6 changes: 3 additions & 3 deletions core/sdk.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func (e evaluator) EvaluateRequestPolicy(ctx context.Context, req RondInput, use

rondConfig := e.Config()

input, err := req.FromRequestInfo(userInfo, nil)
input, err := req.Input(userInfo, nil)
if err != nil {
return PolicyResult{}, err
}
Expand Down Expand Up @@ -149,7 +149,7 @@ func (e evaluator) EvaluateResponsePolicy(ctx context.Context, rondInput RondInp

rondConfig := e.Config()

input, err := rondInput.FromRequestInfo(userInfo, decodedBody)
input, err := rondInput.Input(userInfo, decodedBody)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -265,7 +265,7 @@ func NewSDK(

type sdkKey struct{}

func WithEvaluatorSKD(ctx context.Context, evaluator SDKEvaluator) context.Context {
func WithEvaluatorSDK(ctx context.Context, evaluator SDKEvaluator) context.Context {
return context.WithValue(ctx, sdkKey{}, evaluator)
}

Expand Down
2 changes: 1 addition & 1 deletion core/sdk_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,7 @@ func TestContext(t *testing.T) {
rondConfig: rondConfig,
}

ctx = WithEvaluatorSKD(ctx, expectedEvaluator)
ctx = WithEvaluatorSDK(ctx, expectedEvaluator)

actualEvaluator, err := GetEvaluatorSKD(ctx)
require.NoError(t, err)
Expand Down
4 changes: 2 additions & 2 deletions internal/fake/sdk.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ func NewSDKEvaluator(
}
}

func (s SDKEvaluator) EvaluateRequestPolicy(ctx context.Context, req core.RondInput, userInfo types.User) (core.PolicyResult, error) {
func (s SDKEvaluator) EvaluateRequestPolicy(ctx context.Context, input core.RondInput, userInfo types.User) (core.PolicyResult, error) {
if s.requestPolicyEvaluatorResult == nil {
return core.PolicyResult{}, nil
}
return core.PolicyResult{}, s.requestPolicyEvaluatorResult.Err
}

func (e SDKEvaluator) EvaluateResponsePolicy(ctx context.Context, rondInput core.RondInput, userInfo types.User, decodedBody any) ([]byte, error) {
func (e SDKEvaluator) EvaluateResponsePolicy(ctx context.Context, input core.RondInput, userInfo types.User, decodedBody any) ([]byte, error) {
return nil, nil
}

Expand Down
2 changes: 1 addition & 1 deletion service/router_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ func createContext(
var partialContext context.Context
partialContext = context.WithValue(originalCtx, config.EnvKey{}, env)

partialContext = core.WithEvaluatorSKD(partialContext, evaluator)
partialContext = core.WithEvaluatorSDK(partialContext, evaluator)

if mongoClient != nil {
partialContext = context.WithValue(partialContext, types.MongoClientContextKey{}, mongoClient)
Expand Down

0 comments on commit 491aa9b

Please sign in to comment.