package org.apereo.cas.web.flow; import org.apereo.cas.web.support.WebUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.webflow.action.AbstractAction; import org.springframework.webflow.action.EventFactorySupport; import org.springframework.webflow.execution.Event; import org.springframework.webflow.execution.RequestContext; import javax.servlet.http.HttpServletRequest; /** * This is {@link CheckWebAuthenticationRequestAction}. * * @author Misagh Moayyed * @since 5.0.0 */ public class CheckWebAuthenticationRequestAction extends AbstractAction { private static final Logger LOGGER = LoggerFactory.getLogger(CheckWebAuthenticationRequestAction.class); private final String contentType; public CheckWebAuthenticationRequestAction(final String contentType) { this.contentType = contentType; } @Override protected Event doExecute(final RequestContext context) throws Exception { final HttpServletRequest request = WebUtils.getHttpServletRequest(context); LOGGER.debug("Checking request content type [{}] against [{}]", request.getContentType(), this.contentType); if (this.contentType.equalsIgnoreCase(request.getContentType())) { LOGGER.debug("Authentication request via type [{}] is not web-based", this.contentType); return new EventFactorySupport().no(this); } LOGGER.debug("Authenticated request is identified as web-based via type [{}]", request.getContentType()); return new EventFactorySupport().yes(this); } }