r2981 - branches/ng-jtimer/src/main/java/org/chorem/jtimer/web
Author: obruce Date: 2014-05-21 11:12:42 +0200 (Wed, 21 May 2014) New Revision: 2981 Url: http://forge.chorem.org/projects/jtimer/repository/revisions/2981 Log: Filter ajout du header Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ApplicationServletFilter.java Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ApplicationServletFilter.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ApplicationServletFilter.java 2014-05-21 07:32:07 UTC (rev 2980) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ApplicationServletFilter.java 2014-05-21 09:12:42 UTC (rev 2981) @@ -1,7 +1,6 @@ package org.chorem.jtimer.web; - import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -10,6 +9,7 @@ import java.util.logging.Level; import java.util.logging.Logger; + /** * Created by olivia on 20/05/14. */ @@ -19,6 +19,8 @@ private static final String HEADER_ACCESS_CONTROL_ALLOW_ORIGIN = "Access-Control-Allow-Origin"; private static final String HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS = "Access-Control-Allow-Credentials"; + private static final String HEADER_ACCESS_CONTROL_REQUEST_HEADERS = "Access-Control-Request-Headers"; + private static final String HEADER_ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers"; @Override public void init(FilterConfig filterConfig) throws ServletException { @@ -30,26 +32,32 @@ //Avant l'execution de la requete LOGGER.log(Level.WARNING, "Passqage dans le filter"); + if(servletRequest instanceof HttpServletRequest ) { - HttpServletRequest request = (HttpServletRequest) servletRequest; + HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; + HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse; - Enumeration<String> lesElem = request.getHeaderNames(); + Enumeration<String> lesElem = httpServletRequest.getHeaderNames(); - String names = ""; - while(lesElem.hasMoreElements()){ - names += ", " +lesElem.nextElement(); + String names = ""; + while (lesElem.hasMoreElements()) { + names += ", " + lesElem.nextElement(); + } + LOGGER.log(Level.WARNING, names); - } - LOGGER.log(Level.WARNING, names); + httpServletResponse.addHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, "*"); + httpServletResponse.addHeader(HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); - //Apres l'execution de la requete - ((HttpServletResponse) servletResponse).addHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,"*"); - ((HttpServletResponse) servletResponse).addHeader(HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS,"true"); + String requestHeaders = httpServletRequest.getHeader(HEADER_ACCESS_CONTROL_REQUEST_HEADERS); - filterChain.doFilter(request,servletResponse); + if (requestHeaders!= null && !requestHeaders.isEmpty()) { + httpServletResponse.addHeader(HEADER_ACCESS_CONTROL_ALLOW_HEADERS, requestHeaders); + } + filterChain.doFilter(httpServletRequest, httpServletResponse); + } LOGGER.log(Level.WARNING, "Fin filter");
participants (1)
-
obruceļ¼ users.chorem.org