in plugin-core/plugin/src/main/groovy/grails/plugin/springsecurity/SpringSecurityUtils.groovy [276:314]
static boolean isAjax(HttpServletRequest request) {
String ajaxHeaderName = (String)ReflectionUtils.getConfigProperty('ajaxHeader')
// check the current request's headers
if (XML_HTTP_REQUEST == request.getHeader(ajaxHeaderName)) {
return true
}
def ajaxCheckClosure = ReflectionUtils.getConfigProperty('ajaxCheckClosure')
if (ajaxCheckClosure instanceof Closure) {
def result = ajaxCheckClosure(request)
if (result instanceof Boolean && result) {
return true
}
}
// look for an ajax=true parameter
if ('true' == request.getParameter('ajax')) {
return true
}
// process multipart requests
MultipartHttpServletRequest multipart = (MultipartHttpServletRequest)request.getAttribute(MULTIPART_HTTP_SERVLET_REQUEST_KEY)
if ('true' == multipart?.getParameter('ajax')) {
return true
}
// check the SavedRequest's headers
HttpSession httpSession = request.getSession(false)
if (httpSession) {
SavedRequest savedRequest = (SavedRequest)httpSession.getAttribute(SAVED_REQUEST)
if (savedRequest) {
return savedRequest.getHeaderValues(ajaxHeaderName).contains(MULTIPART_HTTP_SERVLET_REQUEST_KEY)
}
}
false
}