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 com.ifpdos.udi.sdk.UdiSdk;
import g.a.a.a.a;
import g.f.b.a.a.b;
import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import kotlin.jvm.internal.o;
import okhttp3.Headers;
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 strB = request.a.b();
        String strD = request.a.d();
        if (strD != null && !strD.isEmpty()) {
            strB = a.u(strB, "?", strD);
        }
        if (RequestLine.METHOD_POST.equals(request.f9621b)) {
            Sink sink = new Sink();
            request.f9623d.writeTo(sink);
            builder.post(strB, sink.getData());
        } else {
            if (!RequestLine.METHOD_GET.equals(request.f9621b)) {
                throw new IOException(a.A(new StringBuilder(), request.f9621b, " is not support"));
            }
            builder.get(strB);
        }
        Headers headers = request.f9622c;
        Objects.requireNonNull(headers);
        Comparator comparator = String.CASE_INSENSITIVE_ORDER;
        o.e(comparator, "CASE_INSENSITIVE_ORDER");
        TreeSet treeSet = new TreeSet(comparator);
        int size = headers.size();
        for (int i2 = 0; i2 < size; i2++) {
            treeSet.add(headers.c(i2));
        }
        Set<String> setUnmodifiableSet = Collections.unmodifiableSet(treeSet);
        o.e(setUnmodifiableSet, "unmodifiableSet(result)");
        for (String str : setUnmodifiableSet) {
            builder.addHeader(str, request.b(str));
        }
        return builder.build();
    }

    private Response toBinderHttpdResponse(okhttp3.Request request, com.ifpdos.sdk.httpd.binder.aidl.Response response) {
        Response.a aVar = new Response.a();
        aVar.h(request);
        aVar.f9655c = response.getCode();
        aVar.f(response.getStatusLine().message);
        aVar.g(Protocol.HTTP_1_0);
        for (Map.Entry<String, String> entry : response.getHeaderMap().entrySet()) {
            aVar.a(entry.getKey(), entry.getValue());
        }
        aVar.f9659g = toResponseBody(response.getHeader("Content-Type"), response.getBody());
        return aVar.b();
    }

    private ResponseBody toResponseBody(String str, byte[] bArr) {
        if (bArr == null) {
            bArr = "".getBytes();
        }
        if (str == null) {
            str = "application/octet-stream";
        }
        return ResponseBody.d(MediaType.c(str), bArr);
    }

    @Override // okhttp3.Interceptor
    public Response intercept(Interceptor.a aVar) throws IOException {
        com.ifpdos.sdk.httpd.binder.aidl.Response responseSendRequest;
        okhttp3.Request f9829e = aVar.getF9829e();
        IServer iServerC = this.mDns.c(f9829e.a.f10091f);
        if (iServerC == null) {
            StringBuilder sbF = a.F("server not connect : ");
            sbF.append(f9829e.a);
            throw new IOException(sbF.toString());
        }
        try {
            if (f9829e.b(UdiSdk.HEADER_FIELD_SERVICE_NAME) != null) {
                responseSendRequest = ServiceWaiter.getInstance().sendRequest(iServerC, toBinderHttpdRequest(f9829e), f9829e.b(UdiSdk.HEADER_FIELD_SERVICE_NAME));
            } else {
                responseSendRequest = iServerC.sendRequest(toBinderHttpdRequest(f9829e));
            }
            if (responseSendRequest != null) {
                return toBinderHttpdResponse(f9829e, responseSendRequest);
            }
            StringBuilder sbF2 = a.F("response is null : ");
            sbF2.append(f9829e.a);
            throw new IOException(sbF2.toString());
        } catch (RemoteException unused) {
            StringBuilder sbF3 = a.F("server disconnect : ");
            sbF3.append(f9829e.a);
            throw new IOException(sbF3.toString());
        }
    }
}
