class sun.net.www.protocol.http.HttpURLConnection$ErrorStream extends java.io.InputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.net.www.protocol.http.HttpURLConnection$ErrorStream
  super_class: java.io.InputStream
{
  java.nio.ByteBuffer buffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0000) 

  java.io.InputStream is;
    descriptor: Ljava/io/InputStream;
    flags: (0x0000) 

  private void <init>(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
        start local 1 // java.nio.ByteBuffer buf
         0: .line 3061
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 3062
            aload 0 /* this */
            aload 1 /* buf */
            putfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.buffer:Ljava/nio/ByteBuffer;
         2: .line 3063
            aload 0 /* this */
            aconst_null
            putfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.is:Ljava/io/InputStream;
         3: .line 3064
            return
        end local 1 // java.nio.ByteBuffer buf
        end local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/net/www/protocol/http/HttpURLConnection$ErrorStream;
            0    4     1   buf  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      buf   

  private void <init>(java.nio.ByteBuffer, java.io.InputStream);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
        start local 1 // java.nio.ByteBuffer buf
        start local 2 // java.io.InputStream is
         0: .line 3066
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 3067
            aload 0 /* this */
            aload 1 /* buf */
            putfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.buffer:Ljava/nio/ByteBuffer;
         2: .line 3068
            aload 0 /* this */
            aload 2 /* is */
            putfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.is:Ljava/io/InputStream;
         3: .line 3069
            return
        end local 2 // java.io.InputStream is
        end local 1 // java.nio.ByteBuffer buf
        end local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/net/www/protocol/http/HttpURLConnection$ErrorStream;
            0    4     1   buf  Ljava/nio/ByteBuffer;
            0    4     2    is  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      buf   
      is    

  public static java.io.InputStream getErrorStream(java.io.InputStream, int, sun.net.www.http.HttpClient);
    descriptor: (Ljava/io/InputStream;ILsun/net/www/http/HttpClient;)Ljava/io/InputStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // java.io.InputStream is
        start local 1 // int cl
        start local 2 // sun.net.www.http.HttpClient http
         0: .line 3076
            iload 1 /* cl */
            ifne 2
         1: .line 3077
            aconst_null
            areturn
         2: .line 3083
      StackMap locals:
      StackMap stack:
            aload 2 /* http */
            invokevirtual sun.net.www.http.HttpClient.getReadTimeout:()I
            istore 3 /* oldTimeout */
        start local 3 // int oldTimeout
         3: .line 3084
            aload 2 /* http */
            getstatic sun.net.www.protocol.http.HttpURLConnection.timeout4ESBuffer:I
            iconst_5
            idiv
            invokevirtual sun.net.www.http.HttpClient.setReadTimeout:(I)V
         4: .line 3086
            iconst_0
            istore 4 /* expected */
        start local 4 // int expected
         5: .line 3087
            iconst_0
            istore 5 /* isChunked */
        start local 5 // boolean isChunked
         6: .line 3089
            iload 1 /* cl */
            ifge 10
         7: .line 3090
            getstatic sun.net.www.protocol.http.HttpURLConnection.bufSize4ES:I
            istore 4 /* expected */
         8: .line 3091
            iconst_1
            istore 5 /* isChunked */
         9: .line 3092
            goto 11
        10: .line 3093
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* cl */
            istore 4 /* expected */
        11: .line 3095
      StackMap locals:
      StackMap stack:
            iload 4 /* expected */
            getstatic sun.net.www.protocol.http.HttpURLConnection.bufSize4ES:I
            if_icmpgt 44
        12: .line 3096
            iload 4 /* expected */
            newarray 8
            astore 6 /* buffer */
        start local 6 // byte[] buffer
        13: .line 3097
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        14: iconst_0
            istore 8 /* time */
        start local 8 // int time
        15: iconst_0
            istore 9 /* len */
        start local 9 // int len
        16: .line 3100
      StackMap locals: java.io.InputStream int sun.net.www.http.HttpClient int int int byte[] int int int
      StackMap stack:
            aload 0 /* is */
            aload 6 /* buffer */
            iload 7 /* count */
        17: .line 3101
            aload 6 /* buffer */
            arraylength
            iload 7 /* count */
            isub
        18: .line 3100
            invokevirtual java.io.InputStream.read:([BII)I
            istore 9 /* len */
        19: .line 3102
            iload 9 /* len */
            ifge 26
        20: .line 3103
            iload 1 /* cl */
            ifge 22
        21: .line 3107
            goto 32
        22: .line 3110
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "the server closes before sending "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        23: .line 3111
            iload 1 /* cl */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        24: .line 3112
            ldc " bytes of data"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 3110
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 3114
      StackMap locals:
      StackMap stack:
            iload 7 /* count */
            iload 9 /* len */
            iadd
            istore 7 /* count */
        27: .line 3115
            goto 30
      StackMap locals:
      StackMap stack: java.net.SocketTimeoutException
        28: pop
        29: .line 3116
            iload 8 /* time */
            getstatic sun.net.www.protocol.http.HttpURLConnection.timeout4ESBuffer:I
            iconst_5
            idiv
            iadd
            istore 8 /* time */
        30: .line 3118
      StackMap locals:
      StackMap stack:
            iload 7 /* count */
            iload 4 /* expected */
            if_icmpge 32
            iload 8 /* time */
            getstatic sun.net.www.protocol.http.HttpURLConnection.timeout4ESBuffer:I
        31: .line 3098
            if_icmplt 16
        32: .line 3121
      StackMap locals:
      StackMap stack:
            aload 2 /* http */
            iload 3 /* oldTimeout */
            invokevirtual sun.net.www.http.HttpClient.setReadTimeout:(I)V
        33: .line 3125
            iload 7 /* count */
            ifne 35
        34: .line 3129
            aconst_null
            areturn
        35: .line 3130
      StackMap locals:
      StackMap stack:
            iload 7 /* count */
            iload 4 /* expected */
            if_icmpne 36
            iload 5 /* isChunked */
            ifeq 37
      StackMap locals:
      StackMap stack:
        36: iload 5 /* isChunked */
            ifeq 40
            iload 9 /* len */
            ifge 40
        37: .line 3133
      StackMap locals:
      StackMap stack:
            aload 0 /* is */
            invokevirtual java.io.InputStream.close:()V
        38: .line 3134
            new sun.net.www.protocol.http.HttpURLConnection$ErrorStream
            dup
            aload 6 /* buffer */
            iconst_0
            iload 7 /* count */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokespecial sun.net.www.protocol.http.HttpURLConnection$ErrorStream.<init>:(Ljava/nio/ByteBuffer;)V
        39: areturn
        40: .line 3137
      StackMap locals:
      StackMap stack:
            new sun.net.www.protocol.http.HttpURLConnection$ErrorStream
            dup
        41: .line 3138
            aload 6 /* buffer */
            iconst_0
            iload 7 /* count */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            aload 0 /* is */
        42: .line 3137
            invokespecial sun.net.www.protocol.http.HttpURLConnection$ErrorStream.<init>:(Ljava/nio/ByteBuffer;Ljava/io/InputStream;)V
        43: areturn
        end local 9 // int len
        end local 8 // int time
        end local 7 // int count
        end local 6 // byte[] buffer
        44: .line 3141
      StackMap locals: java.io.InputStream int sun.net.www.http.HttpClient int int int
      StackMap stack:
            aconst_null
            areturn
        end local 5 // boolean isChunked
        end local 4 // int expected
        end local 3 // int oldTimeout
        45: .line 3142
      StackMap locals: java.io.InputStream int sun.net.www.http.HttpClient
      StackMap stack: java.io.IOException
            pop
        46: .line 3144
            aconst_null
            areturn
        end local 2 // sun.net.www.http.HttpClient http
        end local 1 // int cl
        end local 0 // java.io.InputStream is
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   47     0          is  Ljava/io/InputStream;
            0   47     1          cl  I
            0   47     2        http  Lsun/net/www/http/HttpClient;
            3   45     3  oldTimeout  I
            5   45     4    expected  I
            6   45     5   isChunked  Z
           13   44     6      buffer  [B
           14   44     7       count  I
           15   44     8        time  I
           16   44     9         len  I
      Exception table:
        from    to  target  type
          16    21      28  Class java.net.SocketTimeoutException
          22    27      28  Class java.net.SocketTimeoutException
           2    34      45  Class java.io.IOException
          35    39      45  Class java.io.IOException
          40    43      45  Class java.io.IOException
    MethodParameters:
      Name  Flags
      is    
      cl    
      http  

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
         0: .line 3150
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.is:Ljava/io/InputStream;
            ifnonnull 2
         1: .line 3151
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ireturn
         2: .line 3153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.is:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.available:()I
            iadd
            ireturn
        end local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/net/www/protocol/http/HttpURLConnection$ErrorStream;
    Exceptions:
      throws java.io.IOException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
         0: .line 3158
            iconst_1
            newarray 8
            astore 1 /* b */
        start local 1 // byte[] b
         1: .line 3159
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual sun.net.www.protocol.http.HttpURLConnection$ErrorStream.read:([B)I
            istore 2 /* ret */
        start local 2 // int ret
         2: .line 3160
            iload 2 /* ret */
            iconst_m1
            if_icmpne 3
            iload 2 /* ret */
            goto 4
      StackMap locals: byte[] int
      StackMap stack:
         3: aload 1 /* b */
            iconst_0
            baload
            sipush 255
            iand
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 2 // int ret
        end local 1 // byte[] b
        end local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/net/www/protocol/http/HttpURLConnection$ErrorStream;
            1    5     1     b  [B
            2    5     2   ret  I
    Exceptions:
      throws java.io.IOException

  public int read(byte[]);
    descriptor: ([B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
        start local 1 // byte[] b
         0: .line 3165
            aload 0 /* this */
            aload 1 /* b */
            iconst_0
            aload 1 /* b */
            arraylength
            invokevirtual sun.net.www.protocol.http.HttpURLConnection$ErrorStream.read:([BII)I
            ireturn
        end local 1 // byte[] b
        end local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/net/www/protocol/http/HttpURLConnection$ErrorStream;
            0    1     1     b  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 3170
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 4 /* rem */
        start local 4 // int rem
         1: .line 3171
            iload 4 /* rem */
            ifle 7
         2: .line 3172
            iload 4 /* rem */
            iload 3 /* len */
            if_icmpge 3
            iload 4 /* rem */
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iload 3 /* len */
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* ret */
        start local 5 // int ret
         5: .line 3173
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.buffer:Ljava/nio/ByteBuffer;
            aload 1 /* b */
            iload 2 /* off */
            iload 5 /* ret */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
         6: .line 3174
            iload 5 /* ret */
            ireturn
        end local 5 // int ret
         7: .line 3176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.is:Ljava/io/InputStream;
            ifnonnull 9
         8: .line 3177
            iconst_m1
            ireturn
         9: .line 3179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.is:Ljava/io/InputStream;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.InputStream.read:([BII)I
            ireturn
        end local 4 // int rem
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/net/www/protocol/http/HttpURLConnection$ErrorStream;
            0   10     1     b  [B
            0   10     2   off  I
            0   10     3   len  I
            1   10     4   rem  I
            5    7     5   ret  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
         0: .line 3186
            aload 0 /* this */
            aconst_null
            putfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.buffer:Ljava/nio/ByteBuffer;
         1: .line 3187
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.is:Ljava/io/InputStream;
            ifnull 3
         2: .line 3188
            aload 0 /* this */
            getfield sun.net.www.protocol.http.HttpURLConnection$ErrorStream.is:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         3: .line 3190
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.net.www.protocol.http.HttpURLConnection$ErrorStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/net/www/protocol/http/HttpURLConnection$ErrorStream;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "HttpURLConnection.java"
NestHost: sun.net.www.protocol.http.HttpURLConnection
InnerClasses:
  ErrorStream = sun.net.www.protocol.http.HttpURLConnection$ErrorStream of sun.net.www.protocol.http.HttpURLConnection