in client/client.go [69:92]
func (r *remotePDPClient) CheckAccess(ctx context.Context, authzReq AuthorizationRequest) (*AuthorizationDecisionResponse, error) {
req, err := runtime.NewRequest(ctx, http.MethodPost, r.endpoint)
if err != nil {
return nil, err
}
if err := runtime.MarshalAsJSON(req, authzReq); err != nil {
return nil, err
}
res, err := r.pipeline.Do(req)
if err != nil {
return nil, err
}
if res.StatusCode != http.StatusOK {
return nil, newCheckAccessError(res)
}
var accessDecision AuthorizationDecisionResponse
if err := runtime.UnmarshalAsJSON(res, &accessDecision); err != nil {
return nil, err
}
return &accessDecision, nil
}