Example usage for org.springframework.security.web.savedrequest SavedRequest getHeaderValues

List of usage examples for org.springframework.security.web.savedrequest SavedRequest getHeaderValues

Introduction

In this page you can find the example usage for org.springframework.security.web.savedrequest SavedRequest getHeaderValues.

Prototype

List<String> getHeaderValues(String name);

Source Link

Usage

From source file:org.codehaus.groovy.grails.plugins.springsecurity.SpringSecurityUtils.java

/**
 * Check if the request was triggered by an Ajax call.
 * @param request the request/* w  w w  .ja va2 s .c  om*/
 * @return <code>true</code> if Ajax
 */
public static boolean isAjax(final HttpServletRequest request) {

    String ajaxHeaderName = (String) ReflectionUtils.getConfigProperty("ajaxHeader");

    // check the current request's headers
    if (request.getHeader(ajaxHeaderName) != null) {
        return true;
    }

    // look for an ajax=true parameter
    if ("true".equals(request.getParameter("ajax"))) {
        return true;
    }

    // check the SavedRequest's headers
    SavedRequest savedRequest = (SavedRequest) request.getSession().getAttribute(WebAttributes.SAVED_REQUEST);
    if (savedRequest != null) {
        return !savedRequest.getHeaderValues(ajaxHeaderName).isEmpty();
    }

    return false;
}

From source file:grails.plugin.springsecurity.SpringSecurityUtils.java

/**
 * Check if the request was triggered by an Ajax call.
 * @param request the request/*from w w  w .  j a va2  s . c  om*/
 * @return <code>true</code> if Ajax
 */
public static boolean isAjax(final HttpServletRequest request) {

    String ajaxHeaderName = (String) ReflectionUtils.getConfigProperty("ajaxHeader");

    // check the current request's headers
    if ("XMLHttpRequest".equals(request.getHeader(ajaxHeaderName))) {
        return true;
    }

    Object ajaxCheckClosure = ReflectionUtils.getConfigProperty("ajaxCheckClosure");
    if (ajaxCheckClosure instanceof Closure) {
        Object result = ((Closure<?>) ajaxCheckClosure).call(request);
        if (result instanceof Boolean && ((Boolean) result)) {
            return true;
        }
    }

    // look for an ajax=true parameter
    if ("true".equals(request.getParameter("ajax"))) {
        return true;
    }

    // process multipart requests
    MultipartHttpServletRequest multipart = ((MultipartHttpServletRequest) request
            .getAttribute("org.springframework.web.multipart.MultipartHttpServletRequest"));
    if (multipart != null && "true".equals(multipart.getParameter("ajax"))) {
        return true;
    }

    // check the SavedRequest's headers
    HttpSession httpSession = request.getSession(false);
    if (httpSession != null) {
        SavedRequest savedRequest = (SavedRequest) httpSession.getAttribute(SAVED_REQUEST);
        if (savedRequest != null) {
            return !savedRequest.getHeaderValues(ajaxHeaderName).isEmpty();
        }
    }

    return false;
}