package twitter4j.internal.http;
import java.io.IOException;
import java.io.Serializable;
import java.net.Authenticator;
import java.net.Authenticator.RequestorType;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
import java.net.Proxy;
import java.net.Proxy.Type;
import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import twitter4j.TwitterException;
import twitter4j.auth.Authorization;
import twitter4j.conf.Configuration;
import twitter4j.conf.ConfigurationContext;
import twitter4j.internal.logging.Logger;
import twitter4j.internal.util.z_T4JInternalStringUtil;
public class HttpClientImpl
extends HttpClientBase
implements HttpResponseCode, Serializable
{
private static final Map<HttpClientConfiguration, HttpClient> instanceMap = new HashMap(1);
private static final Logger logger = Logger.getLogger(HttpClientImpl.class);
private static final long serialVersionUID = -8819171414069621503L;
static
{
if (ConfigurationContext.getInstance().isDalvik()) {
System.setProperty("http.keepAlive", "false");
}
}
public HttpClientImpl()
{
super(ConfigurationContext.getInstance());
}
public HttpClientImpl(HttpClientConfiguration paramHttpClientConfiguration)
{
super(paramHttpClientConfiguration);
}
public static HttpClient getInstance(HttpClientConfiguration paramHttpClientConfiguration)
{
Object localObject = (HttpClient)instanceMap.get(paramHttpClientConfiguration);
if (localObject == null)
{
localObject = new HttpClientImpl(paramHttpClientConfiguration);
instanceMap.put(paramHttpClientConfiguration, localObject);
}
return localObject;
}
private void setHeaders(HttpRequest paramHttpRequest, HttpURLConnection paramHttpURLConnection)
{
if (logger.isDebugEnabled())
{
logger.debug("Request: ");
logger.debug(paramHttpRequest.getMethod().name() + " ", paramHttpRequest.getURL());
}
if (paramHttpRequest.getAuthorization() != null)
{
String str2 = paramHttpRequest.getAuthorization().getAuthorizationHeader(paramHttpRequest);
if (str2 != null)
{
if (logger.isDebugEnabled()) {
logger.debug("Authorization: ", z_T4JInternalStringUtil.maskString(str2));
}
paramHttpURLConnection.addRequestProperty("Authorization", str2);
}
}
if (paramHttpRequest.getRequestHeaders() != null)
{
Iterator localIterator = paramHttpRequest.getRequestHeaders().keySet().iterator();
while (localIterator.hasNext())
{
String str1 = (String)localIterator.next();
paramHttpURLConnection.addRequestProperty(str1, (String)paramHttpRequest.getRequestHeaders().get(str1));
logger.debug(str1 + ": " + (String)paramHttpRequest.getRequestHeaders().get(str1));
}
}
}
public HttpResponse get(String paramString)
throws TwitterException
{
return request(new HttpRequest(RequestMethod.GET, paramString, null, null, null));
}
protected HttpURLConnection getConnection(String paramString)
throws IOException
{
Proxy localProxy;
if (isProxyConfigured())
{
if ((this.CONF.getHttpProxyUser() != null) && (!this.CONF.getHttpProxyUser().equals("")))
{
if (logger.isDebugEnabled())
{
logger.debug("Proxy AuthUser: " + this.CONF.getHttpProxyUser());
logger.debug("Proxy AuthPassword: " + z_T4JInternalStringUtil.maskString(this.CONF.getHttpProxyPassword()));
}
Authenticator.setDefault(new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
if (getRequestorType().equals(Authenticator.RequestorType.PROXY)) {}
for (PasswordAuthentication localPasswordAuthentication = new PasswordAuthentication(HttpClientImpl.this.CONF.getHttpProxyUser(), HttpClientImpl.this.CONF.getHttpProxyPassword().toCharArray());; localPasswordAuthentication = null) {
return localPasswordAuthentication;
}
}
});
}
localProxy = new Proxy(Proxy.Type.HTTP, InetSocketAddress.createUnresolved(this.CONF.getHttpProxyHost(), this.CONF.getHttpProxyPort()));
if (logger.isDebugEnabled()) {
logger.debug("Opening proxied connection(" + this.CONF.getHttpProxyHost() + ":" + this.CONF.getHttpProxyPort() + ")");
}
}
for (HttpURLConnection localHttpURLConnection = (HttpURLConnection)new URL(paramString).openConnection(localProxy);; localHttpURLConnection = (HttpURLConnection)new URL(paramString).openConnection())
{
if (this.CONF.getHttpConnectionTimeout() > 0) {
localHttpURLConnection.setConnectTimeout(this.CONF.getHttpConnectionTimeout());
}
if (this.CONF.getHttpReadTimeout() > 0) {
localHttpURLConnection.setReadTimeout(this.CONF.getHttpReadTimeout());
}
localHttpURLConnection.setInstanceFollowRedirects(false);
return localHttpURLConnection;
}
}
public HttpResponse post(String paramString, HttpParameter[] paramArrayOfHttpParameter)
throws TwitterException
{
return request(new HttpRequest(RequestMethod.POST, paramString, paramArrayOfHttpParameter, null, null));
}
/* Error */
public HttpResponse request(HttpRequest paramHttpRequest)
throws TwitterException
{
// Byte code:
// 0: iconst_1
// 1: aload_0
// 2: getfield 195 twitter4j/internal/http/HttpClientImpl:CONF Ltwitter4j/internal/http/HttpClientConfiguration;
// 5: invokeinterface 294 1 0
// 10: iadd
// 11: istore_2
// 12: iconst_0
// 13: istore_3
// 14: aconst_null
// 15: astore 4
// 17: iload_3
// 18: iload_2
// 19: if_icmpge +1065 -> 1084
// 22: bipush 255
// 24: istore 6
// 26: aconst_null
// 27: astore 7
// 29: aload_0
// 30: aload_1
// 31: invokevirtual 115 twitter4j/internal/http/HttpRequest:getURL ()Ljava/lang/String;
// 34: invokevirtual 296 twitter4j/internal/http/HttpClientImpl:getConnection (Ljava/lang/String;)Ljava/net/HttpURLConnection;
// 37: astore 15
// 39: aload 15
// 41: iconst_1
// 42: invokevirtual 299 java/net/HttpURLConnection:setDoInput (Z)V
// 45: aload_0
// 46: aload_1
// 47: aload 15
// 49: invokespecial 301 twitter4j/internal/http/HttpClientImpl:setHeaders (Ltwitter4j/internal/http/HttpRequest;Ljava/net/HttpURLConnection;)V
// 52: aload 15
// 54: aload_1
// 55: invokevirtual 97 twitter4j/internal/http/HttpRequest:getMethod ()Ltwitter4j/internal/http/RequestMethod;
// 58: invokevirtual 103 twitter4j/internal/http/RequestMethod:name ()Ljava/lang/String;
// 61: invokevirtual 304 java/net/HttpURLConnection:setRequestMethod (Ljava/lang/String;)V
// 64: aload_1
// 65: invokevirtual 97 twitter4j/internal/http/HttpRequest:getMethod ()Ltwitter4j/internal/http/RequestMethod;
// 68: getstatic 287 twitter4j/internal/http/RequestMethod:POST Ltwitter4j/internal/http/RequestMethod;
// 71: if_acmpne +572 -> 643
// 74: aload_1
// 75: invokevirtual 308 twitter4j/internal/http/HttpRequest:getParameters ()[Ltwitter4j/internal/http/HttpParameter;
// 78: invokestatic 314 twitter4j/internal/http/HttpParameter:containsFile ([Ltwitter4j/internal/http/HttpParameter;)Z
// 81: ifeq +734 -> 815
// 84: new 89 java/lang/StringBuilder
// 87: dup
// 88: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 91: ldc_w 316
// 94: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 97: invokestatic 320 java/lang/System:currentTimeMillis ()J
// 100: invokevirtual 323 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder;
// 103: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 106: astore 28
// 108: aload 15
// 110: ldc_w 325
// 113: new 89 java/lang/StringBuilder
// 116: dup
// 117: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 120: ldc_w 327
// 123: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 126: aload 28
// 128: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 131: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 134: invokevirtual 330 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V
// 137: new 89 java/lang/StringBuilder
// 140: dup
// 141: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 144: ldc_w 332
// 147: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 150: aload 28
// 152: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 155: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 158: astore 29
// 160: aload 15
// 162: iconst_1
// 163: invokevirtual 335 java/net/HttpURLConnection:setDoOutput (Z)V
// 166: aload 15
// 168: invokevirtual 339 java/net/HttpURLConnection:getOutputStream ()Ljava/io/OutputStream;
// 171: astore 7
// 173: new 341 java/io/DataOutputStream
// 176: dup
// 177: aload 7
// 179: invokespecial 344 java/io/DataOutputStream:<init> (Ljava/io/OutputStream;)V
// 182: astore 30
// 184: aload_1
// 185: invokevirtual 308 twitter4j/internal/http/HttpRequest:getParameters ()[Ltwitter4j/internal/http/HttpParameter;
// 188: astore 31
// 190: aload 31
// 192: arraylength
// 193: istore 32
// 195: iconst_0
// 196: istore 33
// 198: iload 33
// 200: iload 32
// 202: if_icmpge +395 -> 597
// 205: aload 31
// 207: iload 33
// 209: aaload
// 210: astore 34
// 212: aload 34
// 214: invokevirtual 347 twitter4j/internal/http/HttpParameter:isFile ()Z
// 217: ifeq +269 -> 486
// 220: aload_0
// 221: aload 30
// 223: new 89 java/lang/StringBuilder
// 226: dup
// 227: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 230: aload 29
// 232: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 235: ldc_w 349
// 238: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 241: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 244: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 247: aload_0
// 248: aload 30
// 250: new 89 java/lang/StringBuilder
// 253: dup
// 254: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 257: ldc_w 355
// 260: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 263: aload 34
// 265: invokevirtual 358 twitter4j/internal/http/HttpParameter:getName ()Ljava/lang/String;
// 268: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 271: ldc_w 360
// 274: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 277: aload 34
// 279: invokevirtual 364 twitter4j/internal/http/HttpParameter:getFile ()Ljava/io/File;
// 282: invokevirtual 367 java/io/File:getName ()Ljava/lang/String;
// 285: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 288: ldc_w 369
// 291: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 294: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 297: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 300: aload_0
// 301: aload 30
// 303: new 89 java/lang/StringBuilder
// 306: dup
// 307: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 310: ldc_w 371
// 313: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 316: aload 34
// 318: invokevirtual 374 twitter4j/internal/http/HttpParameter:getContentType ()Ljava/lang/String;
// 321: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 324: ldc_w 376
// 327: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 330: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 333: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 336: aload 34
// 338: invokevirtual 379 twitter4j/internal/http/HttpParameter:hasFileBody ()Z
// 341: ifeq +111 -> 452
// 344: aload 34
// 346: invokevirtual 383 twitter4j/internal/http/HttpParameter:getFileBody ()Ljava/io/InputStream;
// 349: astore 35
// 351: new 385 java/io/BufferedInputStream
// 354: dup
// 355: aload 35
// 357: invokespecial 388 java/io/BufferedInputStream:<init> (Ljava/io/InputStream;)V
// 360: astore 36
// 362: sipush 1024
// 365: newarray byte
// 367: astore 37
// 369: aload 36
// 371: aload 37
// 373: invokevirtual 392 java/io/BufferedInputStream:read ([B)I
// 376: istore 38
// 378: iload 38
// 380: bipush 255
// 382: if_icmpeq +87 -> 469
// 385: aload 30
// 387: aload 37
// 389: iconst_0
// 390: iload 38
// 392: invokevirtual 395 java/io/DataOutputStream:write ([BII)V
// 395: goto -26 -> 369
// 398: astore 8
// 400: aload 4
// 402: astore 5
// 404: aload 7
// 406: invokevirtual 400 java/io/OutputStream:close ()V
// 409: aload 8
// 411: athrow
// 412: astore 10
// 414: aload_0
// 415: getfield 195 twitter4j/internal/http/HttpClientImpl:CONF Ltwitter4j/internal/http/HttpClientConfiguration;
// 418: invokeinterface 294 1 0
// 423: istore 11
// 425: iload_3
// 426: iload 11
// 428: if_icmpne +549 -> 977
// 431: new 173 twitter4j/TwitterException
// 434: dup
// 435: aload 10
// 437: invokevirtual 403 java/io/IOException:getMessage ()Ljava/lang/String;
// 440: aload 10
// 442: iload 6
// 444: invokespecial 406 twitter4j/TwitterException:<init> (Ljava/lang/String;Ljava/lang/Exception;I)V
// 447: astore 12
// 449: aload 12
// 451: athrow
// 452: new 408 java/io/FileInputStream
// 455: dup
// 456: aload 34
// 458: invokevirtual 364 twitter4j/internal/http/HttpParameter:getFile ()Ljava/io/File;
// 461: invokespecial 411 java/io/FileInputStream:<init> (Ljava/io/File;)V
// 464: astore 35
// 466: goto -115 -> 351
// 469: aload_0
// 470: aload 30
// 472: ldc_w 349
// 475: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 478: aload 36
// 480: invokevirtual 412 java/io/BufferedInputStream:close ()V
// 483: goto +608 -> 1091
// 486: aload_0
// 487: aload 30
// 489: new 89 java/lang/StringBuilder
// 492: dup
// 493: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 496: aload 29
// 498: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 501: ldc_w 349
// 504: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 507: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 510: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 513: aload_0
// 514: aload 30
// 516: new 89 java/lang/StringBuilder
// 519: dup
// 520: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 523: ldc_w 355
// 526: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 529: aload 34
// 531: invokevirtual 358 twitter4j/internal/http/HttpParameter:getName ()Ljava/lang/String;
// 534: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 537: ldc_w 369
// 540: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 543: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 546: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 549: aload_0
// 550: aload 30
// 552: ldc_w 414
// 555: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 558: getstatic 29 twitter4j/internal/http/HttpClientImpl:logger Ltwitter4j/internal/logging/Logger;
// 561: aload 34
// 563: invokevirtual 417 twitter4j/internal/http/HttpParameter:getValue ()Ljava/lang/String;
// 566: invokevirtual 87 twitter4j/internal/logging/Logger:debug (Ljava/lang/String;)V
// 569: aload 30
// 571: aload 34
// 573: invokevirtual 417 twitter4j/internal/http/HttpParameter:getValue ()Ljava/lang/String;
// 576: ldc_w 419
// 579: invokevirtual 423 java/lang/String:getBytes (Ljava/lang/String;)[B
// 582: invokevirtual 426 java/io/DataOutputStream:write ([B)V
// 585: aload_0
// 586: aload 30
// 588: ldc_w 349
// 591: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 594: goto +497 -> 1091
// 597: aload_0
// 598: aload 30
// 600: new 89 java/lang/StringBuilder
// 603: dup
// 604: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 607: aload 29
// 609: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 612: ldc_w 428
// 615: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 618: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 621: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 624: aload_0
// 625: aload 30
// 627: ldc_w 349
// 630: invokevirtual 353 twitter4j/internal/http/HttpClientImpl:write (Ljava/io/DataOutputStream;Ljava/lang/String;)V
// 633: aload 7
// 635: invokevirtual 431 java/io/OutputStream:flush ()V
// 638: aload 7
// 640: invokevirtual 400 java/io/OutputStream:close ()V
// 643: aload_0
// 644: getfield 195 twitter4j/internal/http/HttpClientImpl:CONF Ltwitter4j/internal/http/HttpClientConfiguration;
// 647: astore 16
// 649: new 433 twitter4j/internal/http/HttpResponseImpl
// 652: dup
// 653: aload 15
// 655: aload 16
// 657: invokespecial 436 twitter4j/internal/http/HttpResponseImpl:<init> (Ljava/net/HttpURLConnection;Ltwitter4j/internal/http/HttpClientConfiguration;)V
// 660: astore 5
// 662: aload 15
// 664: invokevirtual 439 java/net/HttpURLConnection:getResponseCode ()I
// 667: istore 6
// 669: getstatic 29 twitter4j/internal/http/HttpClientImpl:logger Ltwitter4j/internal/logging/Logger;
// 672: invokevirtual 81 twitter4j/internal/logging/Logger:isDebugEnabled ()Z
// 675: ifeq +422 -> 1097
// 678: getstatic 29 twitter4j/internal/http/HttpClientImpl:logger Ltwitter4j/internal/logging/Logger;
// 681: ldc_w 441
// 684: invokevirtual 87 twitter4j/internal/logging/Logger:debug (Ljava/lang/String;)V
// 687: aload 15
// 689: invokevirtual 444 java/net/HttpURLConnection:getHeaderFields ()Ljava/util/Map;
// 692: astore 21
// 694: aload 21
// 696: invokeinterface 151 1 0
// 701: invokeinterface 157 1 0
// 706: astore 22
// 708: aload 22
// 710: invokeinterface 162 1 0
// 715: ifeq +382 -> 1097
// 718: aload 22
// 720: invokeinterface 166 1 0
// 725: checkcast 168 java/lang/String
// 728: astore 23
// 730: aload 21
// 732: aload 23
// 734: invokeinterface 69 2 0
// 739: checkcast 446 java/util/List
// 742: invokeinterface 447 1 0
// 747: astore 24
// 749: aload 24
// 751: invokeinterface 162 1 0
// 756: ifeq -48 -> 708
// 759: aload 24
// 761: invokeinterface 166 1 0
// 766: checkcast 168 java/lang/String
// 769: astore 25
// 771: aload 23
// 773: ifnull +120 -> 893
// 776: getstatic 29 twitter4j/internal/http/HttpClientImpl:logger Ltwitter4j/internal/logging/Logger;
// 779: new 89 java/lang/StringBuilder
// 782: dup
// 783: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 786: aload 23
// 788: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 791: ldc 170
// 793: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 796: aload 25
// 798: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 801: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 804: invokevirtual 87 twitter4j/internal/logging/Logger:debug (Ljava/lang/String;)V
// 807: goto -58 -> 749
// 810: astore 8
// 812: goto -408 -> 404
// 815: aload 15
// 817: ldc_w 325
// 820: ldc_w 449
// 823: invokevirtual 330 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V
// 826: aload_1
// 827: invokevirtual 308 twitter4j/internal/http/HttpRequest:getParameters ()[Ltwitter4j/internal/http/HttpParameter;
// 830: invokestatic 453 twitter4j/internal/http/HttpParameter:encodeParameters ([Ltwitter4j/internal/http/HttpParameter;)Ljava/lang/String;
// 833: astore 26
// 835: getstatic 29 twitter4j/internal/http/HttpClientImpl:logger Ltwitter4j/internal/logging/Logger;
// 838: ldc_w 455
// 841: aload 26
// 843: invokevirtual 118 twitter4j/internal/logging/Logger:debug (Ljava/lang/String;Ljava/lang/String;)V
// 846: aload 26
// 848: ldc_w 419
// 851: invokevirtual 423 java/lang/String:getBytes (Ljava/lang/String;)[B
// 854: astore 27
// 856: aload 15
// 858: ldc_w 457
// 861: aload 27
// 863: arraylength
// 864: invokestatic 462 java/lang/Integer:toString (I)Ljava/lang/String;
// 867: invokevirtual 330 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V
// 870: aload 15
// 872: iconst_1
// 873: invokevirtual 335 java/net/HttpURLConnection:setDoOutput (Z)V
// 876: aload 15
// 878: invokevirtual 339 java/net/HttpURLConnection:getOutputStream ()Ljava/io/OutputStream;
// 881: astore 7
// 883: aload 7
// 885: aload 27
// 887: invokevirtual 463 java/io/OutputStream:write ([B)V
// 890: goto -257 -> 633
// 893: getstatic 29 twitter4j/internal/http/HttpClientImpl:logger Ltwitter4j/internal/logging/Logger;
// 896: aload 25
// 898: invokevirtual 87 twitter4j/internal/logging/Logger:debug (Ljava/lang/String;)V
// 901: goto -152 -> 749
// 904: iload 6
// 906: sipush 420
// 909: if_icmpeq +36 -> 945
// 912: iload 6
// 914: sipush 400
// 917: if_icmpeq +28 -> 945
// 920: iload 6
// 922: sipush 500
// 925: if_icmplt +20 -> 945
// 928: aload_0
// 929: getfield 195 twitter4j/internal/http/HttpClientImpl:CONF Ltwitter4j/internal/http/HttpClientConfiguration;
// 932: invokeinterface 294 1 0
// 937: istore 18
// 939: iload_3
// 940: iload 18
// 942: if_icmpne +30 -> 972
// 945: new 173 twitter4j/TwitterException
// 948: dup
// 949: aload 5
// 951: invokevirtual 468 twitter4j/internal/http/HttpResponse:asString ()Ljava/lang/String;
// 954: aload 5
// 956: invokespecial 471 twitter4j/TwitterException:<init> (Ljava/lang/String;Ltwitter4j/internal/http/HttpResponse;)V
// 959: astore 17
// 961: aload 17
// 963: athrow
// 964: aload 7
// 966: invokevirtual 400 java/io/OutputStream:close ()V
// 969: aload 5
// 971: areturn
// 972: aload 7
// 974: invokevirtual 400 java/io/OutputStream:close ()V
// 977: getstatic 29 twitter4j/internal/http/HttpClientImpl:logger Ltwitter4j/internal/logging/Logger;
// 980: invokevirtual 81 twitter4j/internal/logging/Logger:isDebugEnabled ()Z
// 983: ifeq +14 -> 997
// 986: aload 5
// 988: ifnull +9 -> 997
// 991: aload 5
// 993: invokevirtual 468 twitter4j/internal/http/HttpResponse:asString ()Ljava/lang/String;
// 996: pop
// 997: getstatic 29 twitter4j/internal/http/HttpClientImpl:logger Ltwitter4j/internal/logging/Logger;
// 1000: new 89 java/lang/StringBuilder
// 1003: dup
// 1004: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 1007: ldc_w 473
// 1010: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 1013: aload_0
// 1014: getfield 195 twitter4j/internal/http/HttpClientImpl:CONF Ltwitter4j/internal/http/HttpClientConfiguration;
// 1017: invokeinterface 476 1 0
// 1022: invokevirtual 253 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder;
// 1025: ldc_w 478
// 1028: invokevirtual 107 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 1031: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 1034: invokevirtual 87 twitter4j/internal/logging/Logger:debug (Ljava/lang/String;)V
// 1037: sipush 1000
// 1040: aload_0
// 1041: getfield 195 twitter4j/internal/http/HttpClientImpl:CONF Ltwitter4j/internal/http/HttpClientConfiguration;
// 1044: invokeinterface 476 1 0
// 1049: imul
// 1050: i2l
// 1051: invokestatic 484 java/lang/Thread:sleep (J)V
// 1054: iinc 3 1
// 1057: aload 5
// 1059: astore 4
// 1061: goto -1044 -> 17
// 1064: astore 20
// 1066: goto -97 -> 969
// 1069: astore 19
// 1071: goto -94 -> 977
// 1074: astore 9
// 1076: goto -667 -> 409
// 1079: astore 13
// 1081: goto -27 -> 1054
// 1084: aload 4
// 1086: astore 5
// 1088: goto -119 -> 969
// 1091: iinc 33 1
// 1094: goto -896 -> 198
// 1097: iload 6
// 1099: sipush 200
// 1102: if_icmplt -198 -> 904
// 1105: iload 6
// 1107: sipush 302
// 1110: if_icmpeq -146 -> 964
// 1113: sipush 300
// 1116: iload 6
// 1118: if_icmpgt -154 -> 964
// 1121: goto -217 -> 904
// Local variable table:
// start length slot name signature
// 0 1124 0 this HttpClientImpl
// 0 1124 1 paramHttpRequest HttpRequest
// 11 9 2 i int
// 13 1042 3 j int
// 15 1070 4 localObject1 Object
// 402 685 5 localObject2 Object
// 24 1095 6 k int
// 27 946 7 localOutputStream java.io.OutputStream
// 398 12 8 localObject3 Object
// 810 1 8 localObject4 Object
// 1074 1 9 localException1 java.lang.Exception
// 412 29 10 localIOException IOException
// 423 6 11 m int
// 447 3 12 localTwitterException1 TwitterException
// 1079 1 13 localInterruptedException java.lang.InterruptedException
// 37 840 15 localHttpURLConnection HttpURLConnection
// 647 9 16 localHttpClientConfiguration HttpClientConfiguration
// 959 3 17 localTwitterException2 TwitterException
// 937 6 18 n int
// 1069 1 19 localException2 java.lang.Exception
// 1064 1 20 localException3 java.lang.Exception
// 692 39 21 localMap Map
// 706 13 22 localIterator1 Iterator
// 728 59 23 str1 String
// 747 13 24 localIterator2 Iterator
// 769 128 25 str2 String
// 833 14 26 str3 String
// 854 32 27 arrayOfByte1 byte[]
// 106 45 28 str4 String
// 158 450 29 str5 String
// 182 444 30 localDataOutputStream java.io.DataOutputStream
// 188 18 31 arrayOfHttpParameter HttpParameter[]
// 193 10 32 i1 int
// 196 896 33 i2 int
// 210 362 34 localHttpParameter HttpParameter
// 349 116 35 localObject5 Object
// 360 119 36 localBufferedInputStream java.io.BufferedInputStream
// 367 21 37 arrayOfByte2 byte[]
// 376 15 38 i3 int
// Exception table:
// from to target type
// 29 395 398 finally
// 452 662 398 finally
// 815 890 398 finally
// 404 409 412 java/io/IOException
// 409 412 412 java/io/IOException
// 964 969 412 java/io/IOException
// 972 977 412 java/io/IOException
// 662 807 810 finally
// 893 964 810 finally
// 964 969 1064 java/lang/Exception
// 972 977 1069 java/lang/Exception
// 404 409 1074 java/lang/Exception
// 977 1054 1079 java/lang/InterruptedException
}
}
/* Location: F:\neembuu\Research\android_apps\output_jar.jar
* Qualified Name: twitter4j.internal.http.HttpClientImpl
* JD-Core Version: 0.7.0.1
*/