parent
7f6b01c3d2
commit
711391cf2f
@ -1,154 +0,0 @@
|
||||
/*
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.autoconfigure.http;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
/**
|
||||
* HTTP properties.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
* @author Stephane Nicoll
|
||||
* @author Brian Clozel
|
||||
* @since 2.1.0
|
||||
*/
|
||||
@ConfigurationProperties(prefix = "spring.http")
|
||||
public class HttpProperties {
|
||||
|
||||
/**
|
||||
* Whether logging of (potentially sensitive) request details at DEBUG and TRACE level
|
||||
* is allowed.
|
||||
*/
|
||||
private boolean logRequestDetails;
|
||||
|
||||
/**
|
||||
* HTTP encoding properties.
|
||||
*/
|
||||
private final Encoding encoding = new Encoding();
|
||||
|
||||
public boolean isLogRequestDetails() {
|
||||
return this.logRequestDetails;
|
||||
}
|
||||
|
||||
public void setLogRequestDetails(boolean logRequestDetails) {
|
||||
this.logRequestDetails = logRequestDetails;
|
||||
}
|
||||
|
||||
public Encoding getEncoding() {
|
||||
return this.encoding;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration properties for http encoding.
|
||||
*/
|
||||
public static class Encoding {
|
||||
|
||||
public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
|
||||
|
||||
/**
|
||||
* Charset of HTTP requests and responses. Added to the "Content-Type" header if
|
||||
* not set explicitly.
|
||||
*/
|
||||
private Charset charset = DEFAULT_CHARSET;
|
||||
|
||||
/**
|
||||
* Whether to force the encoding to the configured charset on HTTP requests and
|
||||
* responses.
|
||||
*/
|
||||
private Boolean force;
|
||||
|
||||
/**
|
||||
* Whether to force the encoding to the configured charset on HTTP requests.
|
||||
* Defaults to true when "force" has not been specified.
|
||||
*/
|
||||
private Boolean forceRequest;
|
||||
|
||||
/**
|
||||
* Whether to force the encoding to the configured charset on HTTP responses.
|
||||
*/
|
||||
private Boolean forceResponse;
|
||||
|
||||
/**
|
||||
* Locale in which to encode mapping.
|
||||
*/
|
||||
private Map<Locale, Charset> mapping;
|
||||
|
||||
public Charset getCharset() {
|
||||
return this.charset;
|
||||
}
|
||||
|
||||
public void setCharset(Charset charset) {
|
||||
this.charset = charset;
|
||||
}
|
||||
|
||||
public boolean isForce() {
|
||||
return Boolean.TRUE.equals(this.force);
|
||||
}
|
||||
|
||||
public void setForce(boolean force) {
|
||||
this.force = force;
|
||||
}
|
||||
|
||||
public boolean isForceRequest() {
|
||||
return Boolean.TRUE.equals(this.forceRequest);
|
||||
}
|
||||
|
||||
public void setForceRequest(boolean forceRequest) {
|
||||
this.forceRequest = forceRequest;
|
||||
}
|
||||
|
||||
public boolean isForceResponse() {
|
||||
return Boolean.TRUE.equals(this.forceResponse);
|
||||
}
|
||||
|
||||
public void setForceResponse(boolean forceResponse) {
|
||||
this.forceResponse = forceResponse;
|
||||
}
|
||||
|
||||
public Map<Locale, Charset> getMapping() {
|
||||
return this.mapping;
|
||||
}
|
||||
|
||||
public void setMapping(Map<Locale, Charset> mapping) {
|
||||
this.mapping = mapping;
|
||||
}
|
||||
|
||||
public boolean shouldForce(Type type) {
|
||||
Boolean force = (type != Type.REQUEST) ? this.forceResponse : this.forceRequest;
|
||||
if (force == null) {
|
||||
force = this.force;
|
||||
}
|
||||
if (force == null) {
|
||||
force = (type == Type.REQUEST);
|
||||
}
|
||||
return force;
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
REQUEST, RESPONSE
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,134 @@
|
||||
/*
|
||||
* Copyright 2012-2020 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.web.servlet.server;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Configuration properties for server HTTP encoding.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
* @author Stephane Nicoll
|
||||
* @author Brian Clozel
|
||||
* @since 2.3.0
|
||||
*/
|
||||
public class Encoding {
|
||||
|
||||
/**
|
||||
* Default HTTP encoding for Servlet applications.
|
||||
*/
|
||||
public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
|
||||
|
||||
/**
|
||||
* Charset of HTTP requests and responses. Added to the "Content-Type" header if not
|
||||
* set explicitly.
|
||||
*/
|
||||
private Charset charset = DEFAULT_CHARSET;
|
||||
|
||||
/**
|
||||
* Whether to force the encoding to the configured charset on HTTP requests and
|
||||
* responses.
|
||||
*/
|
||||
private Boolean force;
|
||||
|
||||
/**
|
||||
* Whether to force the encoding to the configured charset on HTTP requests. Defaults
|
||||
* to true when "force" has not been specified.
|
||||
*/
|
||||
private Boolean forceRequest;
|
||||
|
||||
/**
|
||||
* Whether to force the encoding to the configured charset on HTTP responses.
|
||||
*/
|
||||
private Boolean forceResponse;
|
||||
|
||||
/**
|
||||
* Locale in which to encode mapping.
|
||||
*/
|
||||
private Map<Locale, Charset> mapping;
|
||||
|
||||
public Charset getCharset() {
|
||||
return this.charset;
|
||||
}
|
||||
|
||||
public void setCharset(Charset charset) {
|
||||
this.charset = charset;
|
||||
}
|
||||
|
||||
public boolean isForce() {
|
||||
return Boolean.TRUE.equals(this.force);
|
||||
}
|
||||
|
||||
public void setForce(boolean force) {
|
||||
this.force = force;
|
||||
}
|
||||
|
||||
public boolean isForceRequest() {
|
||||
return Boolean.TRUE.equals(this.forceRequest);
|
||||
}
|
||||
|
||||
public void setForceRequest(boolean forceRequest) {
|
||||
this.forceRequest = forceRequest;
|
||||
}
|
||||
|
||||
public boolean isForceResponse() {
|
||||
return Boolean.TRUE.equals(this.forceResponse);
|
||||
}
|
||||
|
||||
public void setForceResponse(boolean forceResponse) {
|
||||
this.forceResponse = forceResponse;
|
||||
}
|
||||
|
||||
public Map<Locale, Charset> getMapping() {
|
||||
return this.mapping;
|
||||
}
|
||||
|
||||
public void setMapping(Map<Locale, Charset> mapping) {
|
||||
this.mapping = mapping;
|
||||
}
|
||||
|
||||
public boolean shouldForce(Type type) {
|
||||
Boolean force = (type != Type.REQUEST) ? this.forceResponse : this.forceRequest;
|
||||
if (force == null) {
|
||||
force = this.force;
|
||||
}
|
||||
if (force == null) {
|
||||
force = (type == Type.REQUEST);
|
||||
}
|
||||
return force;
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of HTTP message to consider for encoding configuration.
|
||||
*/
|
||||
public enum Type {
|
||||
|
||||
/**
|
||||
* HTTP request message.
|
||||
*/
|
||||
REQUEST,
|
||||
/**
|
||||
* HTTP response message.
|
||||
*/
|
||||
RESPONSE
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue