RequestUtlis.java
- package cn.home1.oss.lib.common;
- import static org.apache.commons.lang3.StringUtils.isBlank;
- import java.nio.charset.Charset;
- import java.nio.charset.StandardCharsets;
- import javax.servlet.ServletRequest;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletRequestWrapper;
- /**
- * Created by zhanghaolun on 16/11/16.
- */
- public abstract class RequestUtlis {
- private RequestUtlis() {
- }
- public static Charset findCharset(final HttpServletRequest request) {
- final String encoding = request.getCharacterEncoding();
- final Charset result;
- if (isBlank(encoding)) {
- result = StandardCharsets.UTF_8;
- } else {
- result = Charset.forName(encoding);
- }
- return result;
- }
- @SuppressWarnings("unchecked")
- public static <T extends HttpServletRequestWrapper> T findWrapper( //
- final ServletRequest request, final Class<T> type //
- ) {
- final T result;
- if (request != null) {
- if (type.isAssignableFrom(request.getClass())) {
- result = (T) request;
- } else {
- if (HttpServletRequestWrapper.class.isAssignableFrom(request.getClass())) {
- return findWrapper(((HttpServletRequestWrapper) request).getRequest(), type);
- } else {
- result = null;
- }
- }
- } else {
- result = null;
- }
- return result;
- }
- }