正在查看: EFFICIENT POS v1.5.7 应用的 ApiClient.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: EFFICIENT POS v1.5.7 应用的 ApiClient.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package dev.gtr.pos.api;
import android.content.Context;
import android.util.Log;
import com.google.gson.GsonBuilder;
import java.io.IOException;
import java.util.Iterator;
import java.util.concurrent.TimeUnit;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import org.json.JSONException;
import org.json.JSONObject;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class ApiClient {
static String BaseUrl = "https://www.pqstec.com/invoiceapps/";
static ApiClient mInstance;
static volatile Retrofit retrofit;
private ApiClient(Context context) {
new Interceptor() {
@Override
public final Response intercept(Interceptor.Chain chain) {
return ApiClient.lambda$new$0(chain);
}
};
retrofit = new Retrofit.Builder().baseUrl(BaseUrl).client(new OkHttpClient.Builder().readTimeout(60L, TimeUnit.SECONDS).connectTimeout(60L, TimeUnit.SECONDS).writeTimeout(30L, TimeUnit.SECONDS).addInterceptor(new NullParameterRemovalInterceptor()).build()).addConverterFactory(GsonConverterFactory.create(new GsonBuilder().setLenient().create())).build();
}
static Response lambda$new$0(Interceptor.Chain chain) throws IOException {
Response proceed = chain.proceed(chain.request());
ResponseBody body = proceed.body();
String string = body.string();
Log.e("resT", string);
return proceed.newBuilder().body(ResponseBody.create(body.get$contentType(), string)).build();
}
public static synchronized ApiClient getInstance(Context context) {
ApiClient apiClient;
synchronized (ApiClient.class) {
if (mInstance == null) {
synchronized (ApiClient.class) {
if (mInstance == null) {
mInstance = new ApiClient(context);
}
}
}
apiClient = mInstance;
}
return apiClient;
}
public static String getBaseUrl() {
return BaseUrl;
}
public ApiInterface getApi() {
return (ApiInterface) retrofit.create(ApiInterface.class);
}
static class NullParameterRemovalInterceptor implements Interceptor {
NullParameterRemovalInterceptor() {
}
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
MediaType contentType;
Request request = chain.request();
Request.Builder newBuilder = request.newBuilder();
if (request.method().equals("GET")) {
HttpUrl.Builder newBuilder2 = request.url().newBuilder();
for (String str : request.url().queryParameterNames()) {
String queryParameter = request.url().queryParameter(str);
Log.e("hi1", queryParameter);
if (queryParameter != null && queryParameter.length() == 0) {
Log.e("hi1", str);
} else {
newBuilder2.addQueryParameter(str, queryParameter);
}
}
newBuilder.url(newBuilder2.build());
} else {
RequestBody body = request.body();
if (body != null && (contentType = body.getContentType()) != null && contentType.type().equals("application") && contentType.subtype().equals("json")) {
try {
JSONObject jSONObject = new JSONObject(body.toString());
Iterator<String> keys = jSONObject.keys();
while (keys.hasNext()) {
if (jSONObject.isNull(keys.next())) {
keys.remove();
}
}
body = RequestBody.create(contentType, jSONObject.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
newBuilder.method(request.method(), body);
}
return chain.proceed(newBuilder.build());
}
}
}