org.springframework.http.HttpHeaders#remove ( )源码实例Demo

下面列出了org.springframework.http.HttpHeaders#remove ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: staffjoy   文件: AuthRequestInterceptor.java
private String setAuthHeader(RequestData data, MappingProperties mapping) {
    // default to anonymous web when prove otherwise
    String authorization = AuthConstant.AUTHORIZATION_ANONYMOUS_WEB;
    HttpHeaders headers = data.getHeaders();
    Session session = this.getSession(data.getOriginRequest());
    if (session != null) {
        if (session.isSupport()) {
            authorization = AuthConstant.AUTHORIZATION_SUPPORT_USER;
        } else {
            authorization = AuthConstant.AUTHORIZATION_AUTHENTICATED_USER;
        }

        this.checkBannedUsers(session.getUserId());

        headers.set(AuthConstant.CURRENT_USER_HEADER, session.getUserId());
    } else {
        // prevent hacking
        headers.remove(AuthConstant.CURRENT_USER_HEADER);
    }
    headers.set(AuthConstant.AUTHORIZATION_HEADER, authorization);

    return authorization;
}
 
源代码2 项目: open-cloud   文件: LoginController.java
public JSONObject getToken(String userName, String password, String type, HttpHeaders headers) {
    OpenOAuth2ClientDetails clientDetails =  clientProperties.getOauth2().get("portal");
    String url = WebUtils.getServerUrl(WebUtils.getHttpServletRequest()) + "/oauth/token";
    // 使用oauth2密码模式登录.
    MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();
    postParameters.add("username", userName);
    postParameters.add("password", password);
    postParameters.add("client_id", clientDetails.getClientId());
    postParameters.add("client_secret", clientDetails.getClientSecret());
    postParameters.add("grant_type", "password");
    // 添加参数区分,第三方登录
    postParameters.add("login_type", type);
    // 使用客户端的请求头,发起请求
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    // 强制移除 原来的请求头,防止token失效
    headers.remove(HttpHeaders.AUTHORIZATION);
    HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity(postParameters, headers);
    JSONObject result = restTemplate.postForObject(url, request, JSONObject.class);
    return result;
}
 
源代码3 项目: open-cloud   文件: LoginController.java
public JSONObject getToken(String userName, String password, String type, HttpHeaders headers) {
    OpenOAuth2ClientDetails clientDetails =  clientProperties.getOauth2().get("admin");
    String url = WebUtils.getServerUrl(WebUtils.getHttpServletRequest()) + "/oauth/token";
    // 使用oauth2密码模式登录.
    MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();
    postParameters.add("username", userName);
    postParameters.add("password", password);
    postParameters.add("client_id", clientDetails.getClientId());
    postParameters.add("client_secret", clientDetails.getClientSecret());
    postParameters.add("grant_type", "password");
    // 添加参数区分,第三方登录
    postParameters.add("login_type", type);
    // 使用客户端的请求头,发起请求
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    // 强制移除 原来的请求头,防止token失效
    headers.remove(HttpHeaders.AUTHORIZATION);
    HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity(postParameters, headers);
    JSONObject result = restTemplate.postForObject(url, request, JSONObject.class);
    return result;
}
 
源代码4 项目: staffjoy   文件: RequestForwarder.java
/**
 * Remove any protocol-level headers from the remote server's response that
 * do not apply to the new response we are sending.
 *
 * @param response
 */
protected void prepareForwardedResponseHeaders(ResponseData response) {
    HttpHeaders headers = response.getHeaders();
    headers.remove(TRANSFER_ENCODING);
    headers.remove(CONNECTION);
    headers.remove("Public-Key-Pins");
    headers.remove(SERVER);
    headers.remove("Strict-Transport-Security");
}
 
private boolean isResourceNotModified(ServletServerHttpRequest request, ServletServerHttpResponse response) {
	ServletWebRequest servletWebRequest =
			new ServletWebRequest(request.getServletRequest(), response.getServletResponse());
	HttpHeaders responseHeaders = response.getHeaders();
	String etag = responseHeaders.getETag();
	long lastModifiedTimestamp = responseHeaders.getLastModified();
	if (request.getMethod() == HttpMethod.GET || request.getMethod() == HttpMethod.HEAD) {
		responseHeaders.remove(HttpHeaders.ETAG);
		responseHeaders.remove(HttpHeaders.LAST_MODIFIED);
	}

	return servletWebRequest.checkNotModified(etag, lastModifiedTimestamp);
}
 
private boolean isResourceNotModified(ServletServerHttpRequest request, ServletServerHttpResponse response) {
	ServletWebRequest servletWebRequest =
			new ServletWebRequest(request.getServletRequest(), response.getServletResponse());
	HttpHeaders responseHeaders = response.getHeaders();
	String etag = responseHeaders.getETag();
	long lastModifiedTimestamp = responseHeaders.getLastModified();
	if (request.getMethod() == HttpMethod.GET || request.getMethod() == HttpMethod.HEAD) {
		responseHeaders.remove(HttpHeaders.ETAG);
		responseHeaders.remove(HttpHeaders.LAST_MODIFIED);
	}

	return servletWebRequest.checkNotModified(etag, lastModifiedTimestamp);
}
 
源代码7 项目: lams   文件: HttpEntityMethodProcessor.java
private boolean isResourceNotModified(ServletServerHttpRequest inputMessage, ServletServerHttpResponse outputMessage) {
	ServletWebRequest servletWebRequest =
			new ServletWebRequest(inputMessage.getServletRequest(), outputMessage.getServletResponse());
	HttpHeaders responseHeaders = outputMessage.getHeaders();
	String etag = responseHeaders.getETag();
	long lastModifiedTimestamp = responseHeaders.getLastModified();
	if (inputMessage.getMethod() == HttpMethod.GET || inputMessage.getMethod() == HttpMethod.HEAD) {
		responseHeaders.remove(HttpHeaders.ETAG);
		responseHeaders.remove(HttpHeaders.LAST_MODIFIED);
	}

	return servletWebRequest.checkNotModified(etag, lastModifiedTimestamp);
}
 
void rewriteHeaders(HttpHeaders headers, Consumer<HttpHeaders> headersSetter) {
    HttpHeaders rewrittenHeaders = copyHeaders(headers);
    rewrittenHeaders.remove(TRANSFER_ENCODING);
    rewrittenHeaders.remove(CONNECTION);
    rewrittenHeaders.remove(PUBLIC_KEY_PINS);
    rewrittenHeaders.remove(SERVER);
    rewrittenHeaders.remove(STRICT_TRANSPORT_SECURITY);
    headersSetter.accept(rewrittenHeaders);
    log.debug("Response headers rewritten from {} to {}", headers, rewrittenHeaders);
}
 
void rewriteHeaders(HttpHeaders headers, Consumer<HttpHeaders> headersSetter) {
    HttpHeaders rewrittenHeaders = copyHeaders(headers);
    rewrittenHeaders.set(CONNECTION, "close");
    rewrittenHeaders.remove(TE);
    headersSetter.accept(rewrittenHeaders);
    log.debug("Request headers rewritten from {} to {}", headers, rewrittenHeaders);
}
 
void removeCookies(HttpHeaders headers, String cookieHeaderName, Consumer<HttpHeaders> headersSetter) {
    HttpHeaders rewrittenHeaders = copyHeaders(headers);
    List<String> removedCookies = rewrittenHeaders.remove(cookieHeaderName);
    if (isNotEmpty(removedCookies)) {
        headersSetter.accept(rewrittenHeaders);
        log.debug("Cookies {} removed from response", removedCookies);
    }
}
 
源代码11 项目: sdk   文件: AviAuthorizationInterceptor.java
@Override
public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution)
		throws IOException {
	if (null == this.aviCredentials.getSessionID() || this.aviCredentials.getSessionID().isEmpty()) {
		AviRestUtils.authenticateSession(this.aviCredentials);
	}
	HttpHeaders headers = request.getHeaders();
	headers.add("Content-Type", "application/json");
	headers.add("X-Avi-Version", this.aviCredentials.getVersion());
	headers.add("X-Avi-Tenant", this.aviCredentials.getTenant());
	headers.add("X-CSRFToken", this.aviCredentials.getCsrftoken());
	headers.add("Referer", AviRestUtils.getControllerURL(this.aviCredentials));
	headers.add(HttpHeaders.COOKIE, "csrftoken=" + this.aviCredentials.getCsrftoken() + "; " + "avi-sessionid="
			+ this.aviCredentials.getSessionID());
	
	ClientHttpResponse response = execution.execute(request, body);
	
	int responseCode = response.getRawStatusCode();
	
	if (Arrays.asList(419, 401).contains(responseCode)) {
		this.numApiExecCount++;
		while (numApiExecCount < this.aviCredentials.getNumApiRetries()) {
			headers.remove("X-CSRFToken");
			headers.remove("Cookie");
			AviRestUtils.authenticateSession(this.aviCredentials);
			headers.add("X-CSRFToken", this.aviCredentials.getCsrftoken());
			headers.add("Cookie", "csrftoken=" + this.aviCredentials.getCsrftoken() + "; " + "avi-sessionid="
					+ this.aviCredentials.getSessionID());
			response = execution.execute(request, body);
			if (Arrays.asList(419, 401).contains(response.getRawStatusCode())) {
				this.numApiExecCount++;
				continue;
			}
			else {
				break;
			}
		}
	}

	return response;
}
 
@Override
@SuppressWarnings("unchecked")
public GatewayFilter apply(Config config) {
	return new GatewayFilter() {
		@Override
		public Mono<Void> filter(ServerWebExchange exchange,
				GatewayFilterChain chain) {
			Class inClass = config.getInClass();
			ServerRequest serverRequest = ServerRequest.create(exchange,
					messageReaders);

			// TODO: flux or mono
			Mono<?> modifiedBody = serverRequest.bodyToMono(inClass)
					.flatMap(originalBody -> config.getRewriteFunction()
							.apply(exchange, originalBody))
					.switchIfEmpty(Mono.defer(() -> (Mono) config.getRewriteFunction()
							.apply(exchange, null)));

			BodyInserter bodyInserter = BodyInserters.fromPublisher(modifiedBody,
					config.getOutClass());
			HttpHeaders headers = new HttpHeaders();
			headers.putAll(exchange.getRequest().getHeaders());

			// the new content type will be computed by bodyInserter
			// and then set in the request decorator
			headers.remove(HttpHeaders.CONTENT_LENGTH);

			// if the body is changing content types, set it here, to the bodyInserter
			// will know about it
			if (config.getContentType() != null) {
				headers.set(HttpHeaders.CONTENT_TYPE, config.getContentType());
			}
			CachedBodyOutputMessage outputMessage = new CachedBodyOutputMessage(
					exchange, headers);
			return bodyInserter.insert(outputMessage, new BodyInserterContext())
					// .log("modify_request", Level.INFO)
					.then(Mono.defer(() -> {
						ServerHttpRequest decorator = decorate(exchange, headers,
								outputMessage);
						return chain
								.filter(exchange.mutate().request(decorator).build());
					})).onErrorResume(
							(Function<Throwable, Mono<Void>>) throwable -> release(
									exchange, outputMessage, throwable));
		}

		@Override
		public String toString() {
			return filterToStringCreator(ModifyRequestBodyGatewayFilterFactory.this)
					.append("Content type", config.getContentType())
					.append("In class", config.getInClass())
					.append("Out class", config.getOutClass()).toString();
		}
	};
}
 
源代码13 项目: staffjoy   文件: RequestForwarder.java
/**
 * Remove any protocol-level headers from the clients request that
 * do not apply to the new request we are sending to the remote server.
 *
 * @param request
 * @param destination
 */
protected void prepareForwardedRequestHeaders(RequestData request, ForwardDestination destination) {
    HttpHeaders headers = request.getHeaders();
    //headers.set(HOST, destination.getUri().getAuthority());
    headers.remove(TE);
}