Runt
2022-05-29 e407dd1f335aa9c716b89b3152bf363b898d28fa
app/src/main/java/com/auto/lyric/retrofit/Interceptor/HttpLoggingInterceptor.java
@@ -5,7 +5,6 @@
import com.auto.lyric.retrofit.net.NetWorkCost;
import com.auto.lyric.retrofit.net.NetWorkListenear;
import com.auto.lyric.retrofit.utils.HttpPrintUtils;
import com.auto.lyric.util.GsonUtils;
import org.json.JSONObject;
@@ -111,33 +110,37 @@
                charset = contentType.charset(UTF8);
            }
            HashMap param = new HashMap();
            if(requestBody instanceof MultipartBody){
                logArrays.add("---------->REQUEST BODY[MultipartBody]<----------");
                MultipartBody body = (MultipartBody) requestBody;
                for(MultipartBody.Part part:body.parts()){
                    Buffer buffer1 = new Buffer();
                    part.body().writeTo(buffer1);
                    String str=buffer1.readString(charset).replaceAll("%(?![0-9a-fA-F]{2})","%25");
                    param.put(part.headers().get(part.headers().name(0)),URLDecoder.decode(str, "UTF-8"));
            try {
                if(requestBody instanceof MultipartBody){
                    logArrays.add("---------->REQUEST BODY[MultipartBody]<----------");
                    MultipartBody body = (MultipartBody) requestBody;
                    for(MultipartBody.Part part:body.parts()){
                        Buffer buffer1 = new Buffer();
                        part.body().writeTo(buffer1);
                        String str=buffer1.readString(charset).replaceAll("%(?![0-9a-fA-F]{2})","%25");
                        param.put(part.headers().get(part.headers().name(0)),URLDecoder.decode(str, "UTF-8"));
                    }
                    logArrays.add(new JSONObject(param).toString(4));
                }else if(requestBody instanceof FormBody){
                    logArrays.add("---------->REQUEST BODY[FormBody]<----------");
                    FormBody body = (FormBody) requestBody;
                    for(int i = 0 ; i < body.size() ; i ++ ){
                        param.put(body.name(i),body.value(i));
                    }
                    logArrays.add(new JSONObject(param).toString(4));
                }else{
                    Buffer buffer = new Buffer();
                    requestBody.writeTo(buffer);
                    logArrays.add("---------->REQUEST BODY<----------");
                    String str = buffer.readString(charset);
                    if(str.indexOf("{") == 0 ){
                        logArrays.add(new JSONObject(URLDecoder.decode(str, "UTF-8")).toString(4));
                    }else{
                        logArrays.add(str);
                    }
                }
                logArrays.add(GsonUtils.retractJson(new JSONObject(param).toString()));
            }else if(requestBody instanceof FormBody){
                logArrays.add("---------->REQUEST BODY[FormBody]<----------");
                FormBody body = (FormBody) requestBody;
                for(int i = 0 ; i < body.size() ; i ++ ){
                    param.put(body.name(i),body.value(i));
                }
                logArrays.add(GsonUtils.retractJson(new JSONObject(param).toString()));
            }else{
                Buffer buffer = new Buffer();
                requestBody.writeTo(buffer);
                logArrays.add("---------->REQUEST BODY<----------");
                String str = buffer.readString(charset);
                try{
                    logArrays.add(GsonUtils.retractJson(URLDecoder.decode(str, "UTF-8")));
                }catch (Exception e){
                    logArrays.add(str);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            logArrays.add("--> END " + request.method() + " " + contentType + " ( "
                    + requestBody.contentLength() + "-byte body )");