package io.netty.handler.codec.http2;

import io.netty.buffer.ByteBufAllocator;
import io.netty.buffer.Unpooled;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToMessageCodec;
import io.netty.handler.codec.http.DefaultHttpContent;
import io.netty.handler.codec.http.DefaultLastHttpContent;
import io.netty.handler.codec.http.FullHttpMessage;
import io.netty.handler.codec.http.HttpHeaderNames;
import io.netty.handler.codec.http.HttpHeaderValues;
import io.netty.handler.codec.http.HttpMessage;
import io.netty.handler.codec.http.HttpObject;
import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.HttpResponseStatus;
import io.netty.handler.codec.http.HttpScheme;
import io.netty.handler.codec.http.HttpUtil;
import io.netty.handler.codec.http.HttpVersion;
import io.netty.handler.codec.http.LastHttpContent;
import io.netty.handler.codec.http2.HttpConversionUtil;
import io.netty.handler.ssl.SslHandler;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
@ChannelHandler.Sharable
public class Http2StreamFrameToHttpObjectCodec extends MessageToMessageCodec<Http2StreamFrame, HttpObject> {
    private final boolean isServer;
    private HttpScheme scheme;
    private final boolean validateHeaders;

    public Http2StreamFrameToHttpObjectCodec(boolean z2) {
        this(z2, true);
    }

    public Http2StreamFrameToHttpObjectCodec(boolean z2, boolean z3) {
        this.isServer = z2;
        this.validateHeaders = z3;
        this.scheme = HttpScheme.HTTP;
    }

    private void encodeLastContent(LastHttpContent lastHttpContent, List<Object> list) {
        boolean z2 = !(lastHttpContent instanceof FullHttpMessage) && lastHttpContent.trailingHeaders().isEmpty();
        if (lastHttpContent.content().isReadable() || z2) {
            list.add(new DefaultHttp2DataFrame(lastHttpContent.content().retain(), lastHttpContent.trailingHeaders().isEmpty()));
        }
        if (lastHttpContent.trailingHeaders().isEmpty()) {
            return;
        }
        list.add(new DefaultHttp2HeadersFrame(HttpConversionUtil.toHttp2Headers(lastHttpContent.trailingHeaders(), this.validateHeaders), true));
    }

    private FullHttpMessage newFullMessage(int i2, Http2Headers http2Headers, ByteBufAllocator byteBufAllocator) {
        return this.isServer ? HttpConversionUtil.toFullHttpRequest(i2, http2Headers, byteBufAllocator, this.validateHeaders) : HttpConversionUtil.toFullHttpResponse(i2, http2Headers, byteBufAllocator, this.validateHeaders);
    }

    private HttpMessage newMessage(int i2, Http2Headers http2Headers) {
        return this.isServer ? HttpConversionUtil.toHttpRequest(i2, http2Headers, this.validateHeaders) : HttpConversionUtil.toHttpResponse(i2, http2Headers, this.validateHeaders);
    }

    private Http2Headers toHttp2Headers(HttpMessage httpMessage) {
        if (httpMessage instanceof HttpRequest) {
            httpMessage.headers().set(HttpConversionUtil.ExtensionHeaderNames.SCHEME.text(), this.scheme.name());
        }
        return HttpConversionUtil.toHttp2Headers(httpMessage, this.validateHeaders);
    }

    @Override // io.netty.handler.codec.MessageToMessageCodec
    public boolean acceptInboundMessage(Object obj) {
        return (obj instanceof Http2HeadersFrame) || (obj instanceof Http2DataFrame);
    }

    /* JADX INFO: renamed from: decode, reason: avoid collision after fix types in other method */
    public void decode2(ChannelHandlerContext channelHandlerContext, Http2StreamFrame http2StreamFrame, List<Object> list) throws Http2Exception {
        Object defaultLastHttpContent;
        if (http2StreamFrame instanceof Http2HeadersFrame) {
            Http2HeadersFrame http2HeadersFrame = (Http2HeadersFrame) http2StreamFrame;
            Http2Headers http2HeadersHeaders = http2HeadersFrame.headers();
            Http2FrameStream http2FrameStreamStream = http2HeadersFrame.stream();
            int iId = http2FrameStreamStream == null ? 0 : http2FrameStreamStream.id();
            CharSequence charSequenceStatus = http2HeadersHeaders.status();
            if (charSequenceStatus != null && HttpResponseStatus.CONTINUE.codeAsText().contentEquals(charSequenceStatus)) {
                list.add(newFullMessage(iId, http2HeadersHeaders, channelHandlerContext.alloc()));
                return;
            }
            if (!http2HeadersFrame.isEndStream()) {
                HttpMessage httpMessageNewMessage = newMessage(iId, http2HeadersHeaders);
                boolean zIsContentLengthSet = HttpUtil.isContentLengthSet(httpMessageNewMessage);
                defaultLastHttpContent = httpMessageNewMessage;
                if (!zIsContentLengthSet) {
                    httpMessageNewMessage.headers().add(HttpHeaderNames.TRANSFER_ENCODING, HttpHeaderValues.CHUNKED);
                    defaultLastHttpContent = httpMessageNewMessage;
                }
            } else if (http2HeadersHeaders.method() == null && charSequenceStatus == null) {
                DefaultLastHttpContent defaultLastHttpContent2 = new DefaultLastHttpContent(Unpooled.EMPTY_BUFFER, this.validateHeaders);
                HttpConversionUtil.addHttp2ToHttpHeaders(iId, http2HeadersHeaders, defaultLastHttpContent2.trailingHeaders(), HttpVersion.HTTP_1_1, true, true);
                defaultLastHttpContent = defaultLastHttpContent2;
            } else {
                defaultLastHttpContent = newFullMessage(iId, http2HeadersHeaders, channelHandlerContext.alloc());
            }
        } else {
            if (!(http2StreamFrame instanceof Http2DataFrame)) {
                return;
            }
            Http2DataFrame http2DataFrame = (Http2DataFrame) http2StreamFrame;
            defaultLastHttpContent = http2DataFrame.isEndStream() ? new DefaultLastHttpContent(http2DataFrame.content().retain(), this.validateHeaders) : new DefaultHttpContent(http2DataFrame.content().retain());
        }
        list.add(defaultLastHttpContent);
    }

    @Override // io.netty.handler.codec.MessageToMessageCodec
    public /* bridge */ /* synthetic */ void decode(ChannelHandlerContext channelHandlerContext, Http2StreamFrame http2StreamFrame, List list) throws Http2Exception {
        decode2(channelHandlerContext, http2StreamFrame, (List<Object>) list);
    }

    /* JADX WARN: Removed duplicated region for block: B:21:0x0068  */
    /* JADX INFO: renamed from: encode, reason: avoid collision after fix types in other method */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
        To view partially-correct add '--show-bad-code' argument
    */
    public void encode2(io.netty.channel.ChannelHandlerContext r4, io.netty.handler.codec.http.HttpObject r5, java.util.List<java.lang.Object> r6) {
        /*
            r3 = this;
            boolean r4 = r5 instanceof io.netty.handler.codec.http.HttpResponse
            r0 = 0
            if (r4 == 0) goto L40
            r4 = r5
            io.netty.handler.codec.http.HttpResponse r4 = (io.netty.handler.codec.http.HttpResponse) r4
            io.netty.handler.codec.http.HttpResponseStatus r1 = r4.status()
            io.netty.handler.codec.http.HttpResponseStatus r2 = io.netty.handler.codec.http.HttpResponseStatus.CONTINUE
            boolean r1 = r1.equals(r2)
            if (r1 == 0) goto L40
            boolean r5 = r4 instanceof io.netty.handler.codec.http.FullHttpResponse
            if (r5 == 0) goto L25
            io.netty.handler.codec.http2.Http2Headers r4 = r3.toHttp2Headers(r4)
            io.netty.handler.codec.http2.DefaultHttp2HeadersFrame r5 = new io.netty.handler.codec.http2.DefaultHttp2HeadersFrame
            r5.<init>(r4, r0)
            r6.add(r5)
            return
        L25:
            io.netty.handler.codec.EncoderException r4 = new io.netty.handler.codec.EncoderException
            java.lang.StringBuilder r5 = new java.lang.StringBuilder
            r5.<init>()
            java.lang.String r6 = r2.toString()
            r5.append(r6)
            java.lang.String r6 = " must be a FullHttpResponse"
            r5.append(r6)
            java.lang.String r5 = r5.toString()
            r4.<init>(r5)
            throw r4
        L40:
            boolean r4 = r5 instanceof io.netty.handler.codec.http.HttpMessage
            if (r4 == 0) goto L71
            r4 = r5
            io.netty.handler.codec.http.HttpMessage r4 = (io.netty.handler.codec.http.HttpMessage) r4
            io.netty.handler.codec.http2.Http2Headers r4 = r3.toHttp2Headers(r4)
            boolean r1 = r5 instanceof io.netty.handler.codec.http.FullHttpMessage
            if (r1 == 0) goto L68
            r1 = r5
            io.netty.handler.codec.http.FullHttpMessage r1 = (io.netty.handler.codec.http.FullHttpMessage) r1
            io.netty.buffer.ByteBuf r2 = r1.content()
            boolean r2 = r2.isReadable()
            if (r2 != 0) goto L68
            io.netty.handler.codec.http.HttpHeaders r1 = r1.trailingHeaders()
            boolean r1 = r1.isEmpty()
            if (r1 == 0) goto L68
            r1 = 1
            goto L69
        L68:
            r1 = r0
        L69:
            io.netty.handler.codec.http2.DefaultHttp2HeadersFrame r2 = new io.netty.handler.codec.http2.DefaultHttp2HeadersFrame
            r2.<init>(r4, r1)
            r6.add(r2)
        L71:
            boolean r4 = r5 instanceof io.netty.handler.codec.http.LastHttpContent
            if (r4 == 0) goto L7b
            io.netty.handler.codec.http.LastHttpContent r5 = (io.netty.handler.codec.http.LastHttpContent) r5
            r3.encodeLastContent(r5, r6)
            goto L91
        L7b:
            boolean r4 = r5 instanceof io.netty.handler.codec.http.HttpContent
            if (r4 == 0) goto L91
            io.netty.handler.codec.http.HttpContent r5 = (io.netty.handler.codec.http.HttpContent) r5
            io.netty.handler.codec.http2.DefaultHttp2DataFrame r4 = new io.netty.handler.codec.http2.DefaultHttp2DataFrame
            io.netty.buffer.ByteBuf r5 = r5.content()
            io.netty.buffer.ByteBuf r5 = r5.retain()
            r4.<init>(r5, r0)
            r6.add(r4)
        L91:
            return
        */
        throw new UnsupportedOperationException("Method not decompiled: io.netty.handler.codec.http2.Http2StreamFrameToHttpObjectCodec.encode2(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpObject, java.util.List):void");
    }

    @Override // io.netty.handler.codec.MessageToMessageCodec
    public /* bridge */ /* synthetic */ void encode(ChannelHandlerContext channelHandlerContext, HttpObject httpObject, List list) {
        encode2(channelHandlerContext, httpObject, (List<Object>) list);
    }

    @Override // io.netty.channel.ChannelHandlerAdapter, io.netty.channel.ChannelHandler
    public void handlerAdded(ChannelHandlerContext channelHandlerContext) {
        super.handlerAdded(channelHandlerContext);
        this.scheme = isSsl(channelHandlerContext) ? HttpScheme.HTTPS : HttpScheme.HTTP;
    }

    public boolean isSsl(ChannelHandlerContext channelHandlerContext) {
        Channel channel = channelHandlerContext.channel();
        if (channel instanceof Http2StreamChannel) {
            channel = channel.parent();
        }
        return channel.pipeline().get(SslHandler.class) != null;
    }
}
