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.mstar.android.samba.NanoHTTPD;
import java.io.IOException;
import java.util.Map;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.MediaType;
import okhttp3.Protocol;
import okhttp3.Response;
import okhttp3.ResponseBody;
import p0.C0690a;

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

    public BinderHttpdInterceptor(C0690a c0690a) {
        this.mDns = c0690a;
    }

    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 = 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) {
        if (bArr == null) {
            bArr = HttpUrl.FRAGMENT_ENCODE_SET.getBytes();
        }
        return str != null ? ResponseBody.create(MediaType.parse(str), bArr) : ResponseBody.create(MediaType.parse(NanoHTTPD.MIME_DEFAULT_BINARY), bArr);
    }

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