package io.netty.handler.codec.http.cookie;

import io.netty.handler.codec.DateFormatter;
import io.netty.util.internal.ObjectUtil;
import java.util.Date;

/* JADX INFO: loaded from: classes.dex */
public final class ClientCookieDecoder extends CookieDecoder {
    public static final ClientCookieDecoder STRICT = new ClientCookieDecoder(true);
    public static final ClientCookieDecoder LAX = new ClientCookieDecoder(false);

    public static class CookieBuilder {
        private final DefaultCookie cookie;
        private String domain;
        private int expiresEnd;
        private int expiresStart;
        private final String header;
        private boolean httpOnly;
        private long maxAge = Long.MIN_VALUE;
        private String path;
        private boolean secure;

        public CookieBuilder(DefaultCookie defaultCookie, String str) {
            this.cookie = defaultCookie;
            this.header = str;
        }

        private String computeValue(int i2, int i3) {
            if (isValueDefined(i2, i3)) {
                return this.header.substring(i2, i3);
            }
            return null;
        }

        private static boolean isValueDefined(int i2, int i3) {
            return (i2 == -1 || i2 == i3) ? false : true;
        }

        private long mergeMaxAgeAndExpires() {
            Date httpDate;
            long j2 = this.maxAge;
            if (j2 != Long.MIN_VALUE) {
                return j2;
            }
            if (!isValueDefined(this.expiresStart, this.expiresEnd) || (httpDate = DateFormatter.parseHttpDate(this.header, this.expiresStart, this.expiresEnd)) == null) {
                return Long.MIN_VALUE;
            }
            long time = httpDate.getTime() - System.currentTimeMillis();
            return (time / 1000) + ((long) (time % 1000 != 0 ? 1 : 0));
        }

        private void parse4(int i2, int i3, int i4) {
            if (this.header.regionMatches(true, i2, CookieHeaderNames.PATH, 0, 4)) {
                this.path = computeValue(i3, i4);
            }
        }

        private void parse6(int i2, int i3, int i4) {
            if (this.header.regionMatches(true, i2, CookieHeaderNames.DOMAIN, 0, 5)) {
                this.domain = computeValue(i3, i4);
            } else if (this.header.regionMatches(true, i2, CookieHeaderNames.SECURE, 0, 5)) {
                this.secure = true;
            }
        }

        private void parse7(int i2, int i3, int i4) {
            if (this.header.regionMatches(true, i2, "Expires", 0, 7)) {
                this.expiresStart = i3;
                this.expiresEnd = i4;
            } else if (this.header.regionMatches(true, i2, CookieHeaderNames.MAX_AGE, 0, 7)) {
                setMaxAge(computeValue(i3, i4));
            }
        }

        private void parse8(int i2) {
            if (this.header.regionMatches(true, i2, CookieHeaderNames.HTTPONLY, 0, 8)) {
                this.httpOnly = true;
            }
        }

        private void setMaxAge(String str) {
            try {
                this.maxAge = Math.max(Long.parseLong(str), 0L);
            } catch (NumberFormatException unused) {
            }
        }

        public void appendAttribute(int i2, int i3, int i4, int i5) {
            int i6 = i3 - i2;
            if (i6 == 4) {
                parse4(i2, i4, i5);
                return;
            }
            if (i6 == 6) {
                parse6(i2, i4, i5);
            } else if (i6 == 7) {
                parse7(i2, i4, i5);
            } else if (i6 == 8) {
                parse8(i2);
            }
        }

        public Cookie cookie() {
            this.cookie.setDomain(this.domain);
            this.cookie.setPath(this.path);
            this.cookie.setMaxAge(mergeMaxAgeAndExpires());
            this.cookie.setSecure(this.secure);
            this.cookie.setHttpOnly(this.httpOnly);
            return this.cookie;
        }
    }

    private ClientCookieDecoder(boolean z2) {
        super(z2);
    }

    public Cookie decode(String str) {
        int i2;
        int i3;
        int i4;
        int i5;
        int length = ((String) ObjectUtil.checkNotNull(str, "header")).length();
        if (length == 0) {
            return null;
        }
        CookieBuilder cookieBuilder = null;
        int i6 = 0;
        while (i6 != length) {
            char cCharAt = str.charAt(i6);
            if (cCharAt == ',') {
                break;
            }
            if (cCharAt == '\t' || cCharAt == '\n' || cCharAt == 11 || cCharAt == '\f' || cCharAt == '\r' || cCharAt == ' ' || cCharAt == ';') {
                i6++;
            } else {
                int i7 = i6;
                while (true) {
                    char cCharAt2 = str.charAt(i7);
                    if (cCharAt2 == ';') {
                        i2 = i7;
                        i3 = -1;
                        i4 = -1;
                        i5 = i2;
                        break;
                    }
                    if (cCharAt2 == '=') {
                        i3 = i7 + 1;
                        if (i3 == length) {
                            i2 = i7;
                            i5 = i3;
                            i4 = 0;
                            i3 = 0;
                        } else {
                            int iIndexOf = str.indexOf(59, i3);
                            i5 = iIndexOf > 0 ? iIndexOf : length;
                            i2 = i7;
                            i4 = i5;
                        }
                    } else {
                        i7++;
                        if (i7 == length) {
                            i2 = length;
                            i3 = -1;
                            i5 = i7;
                            i4 = -1;
                            break;
                        }
                    }
                }
                if (i4 > 0 && str.charAt(i4 - 1) == ',') {
                    i4--;
                }
                int i8 = i4;
                if (cookieBuilder == null) {
                    DefaultCookie defaultCookieInitCookie = initCookie(str, i6, i2, i3, i8);
                    if (defaultCookieInitCookie == null) {
                        return null;
                    }
                    cookieBuilder = new CookieBuilder(defaultCookieInitCookie, str);
                } else {
                    cookieBuilder.appendAttribute(i6, i2, i3, i8);
                }
                i6 = i5;
            }
        }
        return cookieBuilder.cookie();
    }
}
