903219ffb9f8d201e06621068f4ca85aa40bdab6
[institute/sw-backend.git] /
1 package com.supwisdom.institute.backend.common.core.transmit.feign;
2
3 import lombok.extern.slf4j.Slf4j;
4
5 import org.apache.commons.codec.binary.Base64;
6
7 import com.alibaba.fastjson.JSONObject;
8 import com.supwisdom.institute.backend.common.core.transmit.user.User;
9 import com.supwisdom.institute.backend.common.core.transmit.user.UserContext;
10
11 import feign.RequestInterceptor;
12 import feign.RequestTemplate;
13
14 @Slf4j
15 public class SimpleUserTransmitRequestInterceptor implements RequestInterceptor {
16
17   @Override
18   public void apply(RequestTemplate template) {
19     User user = UserContext.getUser();
20     if (user != null) {
21       try {
22         String jsonUser = JSONObject.toJSONString(user);
23         
24         //String headerValue = new String(URLDecoder.decode(jsonUser,"UTF-8"));
25         String headerValue = Base64.encodeBase64String(jsonUser.getBytes("UTF-8"));
26         
27         template.header(UserContext.KEY_USER_IN_HTTP_HEADER, headerValue);
28         log.debug("User set to feign header: ok");
29       } catch (Exception e) {
30         log.warn("User set to feign header: error", e);
31       }
32     }
33   }
34
35 }