|
@@ -0,0 +1,88 @@
|
|
|
+package cn.efunbox.audio.util;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+
|
|
|
+import javax.servlet.http.Cookie;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.PrintWriter;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Created by tomas on 2017/6/4.
|
|
|
+ */
|
|
|
+
|
|
|
+public class HttpUtil {
|
|
|
+
|
|
|
+ private static final Logger logger = LoggerFactory.getLogger(HttpUtil.class);
|
|
|
+
|
|
|
+ public static void responseOk(HttpServletRequest request,HttpServletResponse response) {
|
|
|
+ responseOutWithJson(request,response, ApiResult.ok());
|
|
|
+ }
|
|
|
+ public static void responseOkData(HttpServletRequest request,HttpServletResponse response, Object data) {
|
|
|
+ Map map = new HashMap<>();
|
|
|
+ map.put("code", ApiCode.OK.getCode());
|
|
|
+ map.put("message", ApiCode.OK.getMessage());
|
|
|
+ map.put("data", data);
|
|
|
+ responseOutWithJson(request, response, map);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void responseApiCode(HttpServletRequest request,HttpServletResponse response, ApiCode code) {
|
|
|
+ if(code.getCode()==ApiCode._C_OK){
|
|
|
+ responseOutWithJson(request,response, ApiResult.ok());
|
|
|
+ }else {
|
|
|
+ responseOutWithJson(request,response, ApiResult.error(code));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ public static void responseOutWithJson(HttpServletRequest request,HttpServletResponse response, Object data) {
|
|
|
+ //将实体对象转换为JSON Object转换
|
|
|
+ response.setCharacterEncoding("UTF-8");
|
|
|
+ String origin = request.getHeader("Origin");
|
|
|
+ // TODO orign 和 refer 的判断 .....
|
|
|
+ if (null!=origin){
|
|
|
+ response.setHeader("Access-Control-Allow-Origin", origin);
|
|
|
+ }else {
|
|
|
+ response.setHeader("Access-Control-Allow-Origin", "http://cms.efunbox.cn");
|
|
|
+ }
|
|
|
+ response.setContentType("application/json; charset=utf-8");
|
|
|
+ response.setHeader("Access-Control-Allow-Credentials", "true");
|
|
|
+ response.setHeader("Access-Control-Allow-Methods", "GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, PATCH");
|
|
|
+ //response.setHeader("Access-Control-Max-Age", "3600");
|
|
|
+ response.setHeader("Access-Control-Allow-Headers", "Origin, X-Token,Authentication, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization, Cache-control");
|
|
|
+ response.setHeader("X-Frame-Options","SAMEORIGIN");
|
|
|
+ PrintWriter out = null;
|
|
|
+ try {
|
|
|
+ out = response.getWriter();
|
|
|
+ out.append(JSON.toJSONString(data));
|
|
|
+ logger.info("url= {} 返回JSON ={} ",request.getRequestURI(), JSON.toJSONString(data));
|
|
|
+ } catch (IOException e) {
|
|
|
+ logger.error("request ={} 返回 失败 e={}" ,request.getRequestURI(),e);
|
|
|
+ } finally {
|
|
|
+ if (out != null) {
|
|
|
+ out.close();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void delCookies(HttpServletRequest request,HttpServletResponse response, String... cookies) {
|
|
|
+ for (String cookieName : cookies) {
|
|
|
+ Cookie cookie = new Cookie(cookieName, null);
|
|
|
+ String cookiePath = request.getContextPath();
|
|
|
+ if (!StringUtils.hasLength(cookiePath)) {
|
|
|
+ cookiePath = "/";
|
|
|
+ }
|
|
|
+ cookie.setPath(cookiePath);
|
|
|
+ cookie.setMaxAge(0);
|
|
|
+ response.addCookie(cookie);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|