package com.amazonaws.util; import androidx.webkit.ProxyConfig; import com.amazonaws.Request; import com.amazonaws.http.HttpMethodName; import com.ironsource.v8; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLEncoder; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; /* loaded from: classes.dex */ public abstract class HttpUtils { public static final Pattern DECODED_CHARACTERS_PATTERN; public static final Pattern ENCODED_CHARACTERS_PATTERN = Pattern.compile(Pattern.quote("+") + "|" + Pattern.quote(ProxyConfig.MATCH_ALL_SCHEMES) + "|" + Pattern.quote("%7E") + "|" + Pattern.quote("%2F")); static { StringBuilder sb = new StringBuilder(); sb.append(Pattern.quote("%2A")); sb.append("|"); sb.append(Pattern.quote("%2B")); sb.append("|"); DECODED_CHARACTERS_PATTERN = Pattern.compile(sb.toString()); } public static String urlEncode(String str, boolean z) { if (str == null) { return ""; } try { String encode = URLEncoder.encode(str, "UTF-8"); Matcher matcher = ENCODED_CHARACTERS_PATTERN.matcher(encode); StringBuffer stringBuffer = new StringBuffer(encode.length()); while (matcher.find()) { String group = matcher.group(0); if ("+".equals(group)) { group = "%20"; } else if (ProxyConfig.MATCH_ALL_SCHEMES.equals(group)) { group = "%2A"; } else if ("%7E".equals(group)) { group = "~"; } else if (z && "%2F".equals(group)) { group = "/"; } matcher.appendReplacement(stringBuffer, group); } matcher.appendTail(stringBuffer); return stringBuffer.toString(); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } public static boolean isUsingNonDefaultPort(URI uri) { String lowerCase = StringUtils.lowerCase(uri.getScheme()); int port = uri.getPort(); if (port <= 0) { return false; } if ("http".equals(lowerCase) && port == 80) { return false; } return ("https".equals(lowerCase) && port == 443) ? false : true; } public static boolean usePayloadForQueryParameters(Request request) { return HttpMethodName.POST.equals(request.getHttpMethod()) && (request.getContent() == null); } public static String encodeParameters(Request request) { if (request.getParameters().isEmpty()) { return null; } StringBuilder sb = new StringBuilder(); try { boolean z = true; for (Map.Entry entry : request.getParameters().entrySet()) { String encode = URLEncoder.encode((String) entry.getKey(), "UTF-8"); String str = (String) entry.getValue(); String encode2 = str == null ? "" : URLEncoder.encode(str, "UTF-8"); if (z) { z = false; } else { sb.append(v8.i.c); } sb.append(encode); sb.append(v8.i.b); sb.append(encode2); } return sb.toString(); } catch (UnsupportedEncodingException e) { throw new IllegalArgumentException(e); } } public static String appendUri(String str, String str2) { return appendUri(str, str2, false); } public static String appendUri(String str, String str2, boolean z) { if (str2 != null && str2.length() > 0) { if (str2.startsWith("/")) { if (str.endsWith("/")) { str = str.substring(0, str.length() - 1); } } else if (!str.endsWith("/")) { str = str + "/"; } String urlEncode = urlEncode(str2, true); if (z) { urlEncode = urlEncode.replace("//", "/%2F"); } return str + urlEncode; } if (str.endsWith("/")) { return str; } return str + "/"; } public static String appendUriEncoded(String str, String str2) { if (str2 == null) { return str; } return str + str2; } }