package com.amazonaws.handlers; import com.amazonaws.AmazonClientException; import com.amazonaws.util.ClassLoaderHelper; import com.amazonaws.util.StringUtils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; /* loaded from: classes.dex */ public class HandlerChainFactory { public List newRequestHandlerChain(String str) { return createRequestHandlerChain(str, RequestHandler.class); } public List newRequestHandler2Chain(String str) { return createRequestHandlerChain(str, RequestHandler2.class); } public final List createRequestHandlerChain(String str, Class cls) { ArrayList arrayList = new ArrayList(); BufferedReader bufferedReader = null; try { try { InputStream resourceAsStream = getClass().getResourceAsStream(str); if (resourceAsStream == null) { return arrayList; } BufferedReader bufferedReader2 = new BufferedReader(new InputStreamReader(resourceAsStream, StringUtils.UTF8)); while (true) { try { String readLine = bufferedReader2.readLine(); if (readLine != null) { String trim = readLine.trim(); if (!"".equals(trim)) { Object newInstance = ClassLoaderHelper.loadClass(trim, cls, getClass()).newInstance(); if (!cls.isInstance(newInstance)) { throw new AmazonClientException("Unable to instantiate request handler chain for client. Listed request handler ('" + trim + "') does not implement the " + cls + " API."); } if (cls == RequestHandler2.class) { arrayList.add((RequestHandler2) newInstance); } else if (cls == RequestHandler.class) { HandlerChainFactory$$ExternalSyntheticThrowCCEIfNotNull0.m(newInstance); arrayList.add(RequestHandler2.adapt(null)); } else { throw new IllegalStateException(); } } } else { try { bufferedReader2.close(); } catch (IOException unused) { } return arrayList; } } catch (Exception e) { e = e; bufferedReader = bufferedReader2; throw new AmazonClientException("Unable to instantiate request handler chain for client: " + e.getMessage(), e); } catch (Throwable th) { th = th; bufferedReader = bufferedReader2; if (bufferedReader != null) { try { bufferedReader.close(); } catch (IOException unused2) { } } throw th; } } } catch (Exception e2) { e = e2; } } catch (Throwable th2) { th = th2; } } }