package com.ifpdos.udi.sdk.binderhttpd;

import android.os.RemoteException;
import com.ifpdos.sdk.httpd.binder.aidl.IServer;
import com.ifpdos.sdk.httpd.binder.aidl.Request;
import com.ifpdos.sdk.httpd.binder.aidl.RequestLine;
import d.b.a.a.a;
import d.f.d.a.a.b;
import java.io.IOException;
import java.util.Map;
import okhttp3.Interceptor;
import okhttp3.MediaType;
import okhttp3.Protocol;
import okhttp3.Response;
import okhttp3.ResponseBody;

/* JADX INFO: loaded from: classes.dex */
public class BinderHttpdInterceptor implements Interceptor {
    private final b mDns;

    public BinderHttpdInterceptor(b bVar) {
        this.mDns = bVar;
    }

    private Request toBinderHttpdRequest(okhttp3.Request request) throws IOException {
        Request.Builder builder = new Request.Builder();
        String strEncodedPath = request.url().encodedPath();
        String strEncodedQuery = request.url().encodedQuery();
        if (strEncodedQuery != null && !strEncodedQuery.isEmpty()) {
            strEncodedPath = a.q(strEncodedPath, "?", strEncodedQuery);
        }
        if (RequestLine.METHOD_POST.equals(request.method())) {
            Sink sink = new Sink();
            request.body().writeTo(sink);
            builder.post(strEncodedPath, sink.getData());
        } else {
            if (!RequestLine.METHOD_GET.equals(request.method())) {
                throw new IOException(request.method() + " is not support");
            }
            builder.get(strEncodedPath);
        }
        for (String str : request.headers().names()) {
            builder.addHeader(str, request.header(str));
        }
        return builder.build();
    }

    private Response toBinderHttpdResponse(okhttp3.Request request, com.ifpdos.sdk.httpd.binder.aidl.Response response) {
        Response.Builder builder = new Response.Builder();
        builder.request(request);
        builder.code(response.getCode());
        builder.message(response.getStatusLine().message);
        builder.protocol(Protocol.HTTP_1_0);
        for (Map.Entry<String, String> entry : response.getHeaderMap().entrySet()) {
            builder.addHeader(entry.getKey(), entry.getValue());
        }
        builder.body(toResponseBody(response.getHeader("Content-Type"), response.getBody()));
        return builder.build();
    }

    private ResponseBody toResponseBody(String str, byte[] bArr) {
        return str != null ? ResponseBody.create(MediaType.parse(str), bArr) : ResponseBody.create(MediaType.parse("application/octet-stream"), bArr);
    }

    @Override // okhttp3.Interceptor
    public Response intercept(Interceptor.Chain chain) throws IOException {
        okhttp3.Request request = chain.request();
        IServer iServerC = this.mDns.c(request.url().host());
        if (iServerC == null) {
            StringBuilder sbB = a.B("server not connect : ");
            sbB.append(request.url());
            throw new IOException(sbB.toString());
        }
        try {
            com.ifpdos.sdk.httpd.binder.aidl.Response responseSendRequest = iServerC.sendRequest(toBinderHttpdRequest(request));
            if (responseSendRequest != null) {
                return toBinderHttpdResponse(request, responseSendRequest);
            }
            StringBuilder sbB2 = a.B("response is null : ");
            sbB2.append(request.url());
            throw new IOException(sbB2.toString());
        } catch (RemoteException unused) {
            StringBuilder sbB3 = a.B("server disconnect : ");
            sbB3.append(request.url());
            throw new IOException(sbB3.toString());
        }
    }
}
