func()

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
}