public void filter()

in plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/plugin/FedizRedirectBindingFilter.java [84:121]


    public void filter(ContainerRequestContext context) {
        Message m = JAXRSUtils.getCurrentMessage();
        FedizContext fedConfig = getFedizContext(m);

        // See if it is a Metadata request
        if (isMetadataRequest(context, fedConfig)) {
            return;
        }

        String httpMethod = context.getMethod();
        MultivaluedMap<String, String> params = null;

        try {
            if (HttpMethod.GET.equals(httpMethod)) {
                params = context.getUriInfo().getQueryParameters();
            } else if (HttpMethod.POST.equals(httpMethod)) {
                String strForm = IOUtils.toString(context.getEntityStream(), "UTF-8");
                params = JAXRSUtils.getStructuredParams(strForm, "&", true, false);
            }
        } catch (Exception ex) {
            LOG.debug(ex.getMessage(), ex);
            throw ExceptionUtils.toInternalServerErrorException(ex, null);
        }

        // See if it is a Logout request first
        if (isLogoutRequest(context, fedConfig, m, params) || isSignoutCleanupRequest(fedConfig, m, params)) {
            return;
        } else if (checkSecurityContext(fedConfig, m, params)) {
            return;
        } else if (isSignInRequired(fedConfig, params)) {
            processSignInRequired(context, fedConfig);
        } else if (isSignInRequest(fedConfig, params)) {
            processSignInRequest(context, fedConfig, m, params);
        } else {
            LOG.error("SignIn parameter is incorrect or not supported");
            throw ExceptionUtils.toBadRequestException(null, null);
        }
    }