Java Code Examples for javax.servlet.http.HttpServletResponse#getHeaders()

The following examples show how to use javax.servlet.http.HttpServletResponse#getHeaders() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CorsFillter.java    From halo-docs with Apache License 2.0 6 votes vote down vote up
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {


    HttpServletResponse response = (HttpServletResponse) servletResponse;
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    Collection<String> origins = response.getHeaders("Access-Control-Allow-Origin");
    if(null!=origins&&origins.size()>0){

    }else {
        if(!StringUtils.isEmpty(request.getHeader("Origin"))){
            response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
            response.setHeader("Access-Control-Allow-Credentials", "true");
            response.setHeader("Access-Control-Allow-Headers", "Content-Type");
            response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));
            response.setHeader("Access-Control-Allow-Methods", request.getHeader("Access-Control-Request-Method"));
            response.setHeader("Allow", response.getHeader("Access-Control-Allow-Methods"));

        }}
    // zuul会把option请求转给后端实例,这里做拦截
    if(request.getMethod().equalsIgnoreCase(HttpMethod.OPTIONS.toString())){
        return;
    }
    chain.doFilter(servletRequest,servletResponse);
}
 
Example 2
Source File: WebContentGenerator.java    From spring-analysis-note with MIT License 6 votes vote down vote up
private Collection<String> getVaryRequestHeadersToAdd(HttpServletResponse response, String[] varyByRequestHeaders) {
	if (!response.containsHeader(HttpHeaders.VARY)) {
		return Arrays.asList(varyByRequestHeaders);
	}
	Collection<String> result = new ArrayList<>(varyByRequestHeaders.length);
	Collections.addAll(result, varyByRequestHeaders);
	for (String header : response.getHeaders(HttpHeaders.VARY)) {
		for (String existing : StringUtils.tokenizeToStringArray(header, ",")) {
			if ("*".equals(existing)) {
				return Collections.emptyList();
			}
			for (String value : varyByRequestHeaders) {
				if (value.equalsIgnoreCase(existing)) {
					result.remove(value);
				}
			}
		}
	}
	return result;
}
 
Example 3
Source File: CorsFilter.java    From Moss with Apache License 2.0 6 votes vote down vote up
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {


    HttpServletResponse response = (HttpServletResponse) servletResponse;
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    Collection<String> origins = response.getHeaders("Access-Control-Allow-Origin");
    if(null!=origins&&origins.size()>0){

    }else {
        if(!StringUtils.isEmpty(request.getHeader("Origin"))){
            response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
            response.setHeader("Access-Control-Allow-Credentials", "true");
            response.setHeader("Access-Control-Allow-Headers", "Content-Type");
            response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));
            response.setHeader("Access-Control-Allow-Methods", request.getHeader("Access-Control-Request-Method"));
            response.setHeader("Allow", response.getHeader("Access-Control-Allow-Methods"));

        }}
    if(request.getMethod().equalsIgnoreCase(HttpMethod.OPTIONS.toString())){
        return;
    }
    chain.doFilter(servletRequest,servletResponse);
}
 
Example 4
Source File: WebContentGenerator.java    From java-technology-stack with MIT License 6 votes vote down vote up
private Collection<String> getVaryRequestHeadersToAdd(HttpServletResponse response, String[] varyByRequestHeaders) {
	if (!response.containsHeader(HttpHeaders.VARY)) {
		return Arrays.asList(varyByRequestHeaders);
	}
	Collection<String> result = new ArrayList<>(varyByRequestHeaders.length);
	Collections.addAll(result, varyByRequestHeaders);
	for (String header : response.getHeaders(HttpHeaders.VARY)) {
		for (String existing : StringUtils.tokenizeToStringArray(header, ",")) {
			if ("*".equals(existing)) {
				return Collections.emptyList();
			}
			for (String value : varyByRequestHeaders) {
				if (value.equalsIgnoreCase(existing)) {
					result.remove(value);
				}
			}
		}
	}
	return result;
}
 
Example 5
Source File: LogsearchKRBAuthenticationFilter.java    From ambari-logsearch with Apache License 2.0 6 votes vote down vote up
private String getUsernameFromResponse(HttpServletResponse response) {
  String userName = null;
  boolean checkCookie = response.containsHeader("Set-Cookie");
  if (checkCookie) {
    Collection<String> cookiesCollection = response.getHeaders("Set-Cookie");
    if (cookiesCollection != null) {
      Iterator<String> iterator = cookiesCollection.iterator();
      while (iterator.hasNext()) {
        String cookie = iterator.next();
        if (StringUtils.isNotEmpty(cookie)) {
          if (cookie.toLowerCase().startsWith(AUTH_COOKIE_NAME.toLowerCase())) {
            Matcher m = usernamePattern.matcher(cookie);
            if (m.find()) {
              userName = m.group(1);
            }
          }
        }
        if (StringUtils.isNotEmpty(userName)) {
          break;
        }
      }
    }
  }
  logger.debug("kerberos username  from  response >>>>>>>>" + userName);
  return userName;
}
 
Example 6
Source File: WebContentGenerator.java    From lams with GNU General Public License v2.0 6 votes vote down vote up
private Collection<String> getVaryRequestHeadersToAdd(HttpServletResponse response) {
	if (!response.containsHeader(HttpHeaders.VARY)) {
		return Arrays.asList(getVaryByRequestHeaders());
	}
	Collection<String> result = new ArrayList<String>(getVaryByRequestHeaders().length);
	Collections.addAll(result, getVaryByRequestHeaders());
	for (String header : response.getHeaders(HttpHeaders.VARY)) {
		for (String existing : StringUtils.tokenizeToStringArray(header, ",")) {
			if ("*".equals(existing)) {
				return Collections.emptyList();
			}
			for (String value : getVaryByRequestHeaders()) {
				if (value.equalsIgnoreCase(existing)) {
					result.remove(value);
				}
			}
		}
	}
	return result;
}
 
Example 7
Source File: JwtSecurityContextRepository.java    From onetwo with Apache License 2.0 6 votes vote down vote up
@Override
	public void saveContext(SecurityContext context, HttpServletRequest request, HttpServletResponse response) {
		if(!updateTokenOnResponse){
			return ;
		}
		
		if(response.getHeaders(authHeaderName)==null){
			JwtSecurityTokenInfo token = jwtTokenService.generateToken(context.getAuthentication());
//			response.addHeader(authHeaderName, token.getToken());
			StoreContext ctx = StoreContext.builder()
											.request(request)
											.response(response)
											.authKey(authHeaderName)
											.cookieStorer(cookieStorer)
											.build();
			authStore.saveToken(ctx);

			if(logger.isDebugEnabled()){
				logger.debug("saveContext user token : {}", token);
			}
		}
	}
 
Example 8
Source File: HttpUtilities.java    From odo with Apache License 2.0 6 votes vote down vote up
/**
 * Obtain newline-delimited headers from response
 *
 * @param response HttpServletResponse to scan
 * @return newline-delimited headers
 */
public static String getHeaders(HttpServletResponse response) {
    String headerString = "";
    Collection<String> headerNames = response.getHeaderNames();
    for (String headerName : headerNames) {
        // there may be multiple headers per header name
        for (String headerValue : response.getHeaders(headerName)) {
            if (headerString.length() != 0) {
                headerString += "\n";
            }

            headerString += headerName + ": " + headerValue;
        }
    }

    return headerString;
}
 
Example 9
Source File: CookieFilter.java    From nexus-public with Eclipse Public License 1.0 5 votes vote down vote up
private void secureCookies(HttpServletResponse response) {
  final Collection<String> cookies = response.getHeaders(SET_COOKIE);
  boolean mustAdd = false;
  for (final String cookie : cookies) {
    final String cookieVal = cookie.lastIndexOf(SECURE_FLAG) == -1 ? cookie + SECURE_FLAG : cookie;
    if (mustAdd) {
      response.addHeader(SET_COOKIE, cookieVal);
    }
    else {
      response.setHeader(SET_COOKIE, cookieVal);
    }
    mustAdd = true;
  }
}
 
Example 10
Source File: AtlasAuthenticationFilter.java    From incubator-atlas with Apache License 2.0 5 votes vote down vote up
private static String readUserFromCookie(HttpServletResponse response1) {
    String userName = null;
    boolean isCookieSet = response1.containsHeader("Set-Cookie");
    if (isCookieSet) {
        Collection<String> authUserName = response1.getHeaders("Set-Cookie");
        if (authUserName != null) {
            for (String cookie : authUserName) {
                if (!StringUtils.isEmpty(cookie)) {
                    if (cookie.toLowerCase().startsWith(AuthenticatedURL.AUTH_COOKIE.toLowerCase()) && cookie.contains("u=")) {
                        String[] split = cookie.split(";");
                        if (split != null) {
                            for (String s : split) {
                                if (!StringUtils.isEmpty(s) && s.toLowerCase().startsWith(AuthenticatedURL.AUTH_COOKIE.toLowerCase())) {
                                    int ustr = s.indexOf("u=");
                                    if (ustr != -1) {
                                        int andStr = s.indexOf("&", ustr);
                                        if (andStr != -1) {
                                            try {
                                                userName = s.substring(ustr + 2, andStr);
                                                break;
                                            } catch (Exception e) {
                                                userName = null;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    return userName;
}
 
Example 11
Source File: IpcServletFilter.java    From spectator with Apache License 2.0 5 votes vote down vote up
private void addResponseHeaders(HttpServletResponse httpRes, IpcLogEntry entry) {
  Collection<String> headers = httpRes.getHeaderNames();
  for (String header : headers) {
    Collection<String> values = httpRes.getHeaders(header);
    for (String value : values) {
      entry.addResponseHeader(header, value);
    }
  }
}
 
Example 12
Source File: RepositoryHttpServlet.java    From kurento-java with Apache License 2.0 5 votes vote down vote up
private void logResponse(HttpServletResponse resp) {

    Collection<String> headerNames = resp.getHeaderNames();
    for (String headerName : headerNames) {
      Collection<String> values = resp.getHeaders(headerName);
      log.debug("  Header {}: {}", headerName, values);
    }
  }
 
Example 13
Source File: AtlasAuthenticationFilter.java    From atlas with Apache License 2.0 4 votes vote down vote up
private static String readUserFromCookie(HttpServletResponse response1) {
    String  userName    = null;
    boolean isCookieSet = response1.containsHeader("Set-Cookie");

    if (isCookieSet) {
        Collection<String> authUserName = response1.getHeaders("Set-Cookie");

        if (authUserName != null) {
            for (String cookie : authUserName) {
                if (!StringUtils.isEmpty(cookie)) {
                    if (cookie.toLowerCase().startsWith(AuthenticatedURL.AUTH_COOKIE.toLowerCase()) && cookie.contains("u=")) {
                        String[] split = cookie.split(";");

                        if (split != null) {
                            for (String s : split) {
                                if (!StringUtils.isEmpty(s) && s.toLowerCase().startsWith(AuthenticatedURL.AUTH_COOKIE.toLowerCase())) {
                                    int ustr = s.indexOf("u=");

                                    if (ustr != -1) {
                                        int andStr = s.indexOf("&", ustr);

                                        if (andStr != -1) {
                                            try {
                                                userName = s.substring(ustr + 2, andStr);
                                                break;
                                            } catch (Exception e) {
                                                userName = null;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    return userName;
}