class sun.net.httpserver.ServerImpl$Exchange implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.net.httpserver.ServerImpl$Exchange
  super_class: java.lang.Object
{
  java.nio.channels.SocketChannel chan;
    descriptor: Ljava/nio/channels/SocketChannel;
    flags: (0x0000) 

  sun.net.httpserver.HttpConnection connection;
    descriptor: Lsun/net/httpserver/HttpConnection;
    flags: (0x0000) 

  sun.net.httpserver.HttpContextImpl context;
    descriptor: Lsun/net/httpserver/HttpContextImpl;
    flags: (0x0000) 

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

  java.io.OutputStream rawout;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0000) 

  java.lang.String protocol;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  sun.net.httpserver.ExchangeImpl tx;
    descriptor: Lsun/net/httpserver/ExchangeImpl;
    flags: (0x0000) 

  sun.net.httpserver.HttpContextImpl ctx;
    descriptor: Lsun/net/httpserver/HttpContextImpl;
    flags: (0x0000) 

  boolean rejected;
    descriptor: Z
    flags: (0x0000) 

  final sun.net.httpserver.ServerImpl this$0;
    descriptor: Lsun/net/httpserver/ServerImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.net.httpserver.ServerImpl, java.nio.channels.SocketChannel, java.lang.String, sun.net.httpserver.HttpConnection);
    descriptor: (Lsun/net/httpserver/ServerImpl;Ljava/nio/channels/SocketChannel;Ljava/lang/String;Lsun/net/httpserver/HttpConnection;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // sun.net.httpserver.ServerImpl$Exchange this
        start local 2 // java.nio.channels.SocketChannel chan
        start local 3 // java.lang.String protocol
        start local 4 // sun.net.httpserver.HttpConnection conn
         0: .line 507
            aload 0 /* this */
            aload 1
            putfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 505
            aload 0 /* this */
            iconst_0
            putfield sun.net.httpserver.ServerImpl$Exchange.rejected:Z
         2: .line 508
            aload 0 /* this */
            aload 2 /* chan */
            putfield sun.net.httpserver.ServerImpl$Exchange.chan:Ljava/nio/channels/SocketChannel;
         3: .line 509
            aload 0 /* this */
            aload 4 /* conn */
            putfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
         4: .line 510
            aload 0 /* this */
            aload 3 /* protocol */
            putfield sun.net.httpserver.ServerImpl$Exchange.protocol:Ljava/lang/String;
         5: .line 511
            return
        end local 4 // sun.net.httpserver.HttpConnection conn
        end local 3 // java.lang.String protocol
        end local 2 // java.nio.channels.SocketChannel chan
        end local 0 // sun.net.httpserver.ServerImpl$Exchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/net/httpserver/ServerImpl$Exchange;
            0    6     2      chan  Ljava/nio/channels/SocketChannel;
            0    6     3  protocol  Ljava/lang/String;
            0    6     4      conn  Lsun/net/httpserver/HttpConnection;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      this$0    final
      chan      
      protocol  
      conn      

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=23, args_size=1
        start local 0 // sun.net.httpserver.ServerImpl$Exchange this
         0: .line 515
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.HttpConnection.getHttpContext:()Lsun/net/httpserver/HttpContextImpl;
            putfield sun.net.httpserver.ServerImpl$Exchange.context:Lsun/net/httpserver/HttpContextImpl;
         1: .line 517
            aconst_null
            astore 2 /* engine */
        start local 2 // javax.net.ssl.SSLEngine engine
         2: .line 518
            aconst_null
            astore 3 /* requestLine */
        start local 3 // java.lang.String requestLine
         3: .line 519
            aconst_null
            astore 4 /* sslStreams */
        start local 4 // sun.net.httpserver.SSLStreams sslStreams
         4: .line 521
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.context:Lsun/net/httpserver/HttpContextImpl;
            ifnull 9
         5: .line 522
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.HttpConnection.getInputStream:()Ljava/io/InputStream;
            putfield sun.net.httpserver.ServerImpl$Exchange.rawin:Ljava/io/InputStream;
         6: .line 523
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.HttpConnection.getRawOutputStream:()Ljava/io/OutputStream;
            putfield sun.net.httpserver.ServerImpl$Exchange.rawout:Ljava/io/OutputStream;
         7: .line 524
            iconst_0
            istore 1 /* newconnection */
        start local 1 // boolean newconnection
         8: .line 525
            goto 32
        end local 1 // boolean newconnection
         9: .line 527
      StackMap locals: sun.net.httpserver.ServerImpl$Exchange top javax.net.ssl.SSLEngine java.lang.String sun.net.httpserver.SSLStreams
      StackMap stack:
            iconst_1
            istore 1 /* newconnection */
        start local 1 // boolean newconnection
        10: .line 528
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.https:Z
            ifeq 22
        11: .line 529
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.sslContext:Ljavax/net/ssl/SSLContext;
            ifnonnull 16
        12: .line 530
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.WARNING:Ljava/lang/System$Logger$Level;
        13: .line 531
            ldc "SSL connection received. No https context created"
        14: .line 530
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        15: .line 532
            new sun.net.httpserver.HttpError
            dup
            ldc "No SSL context established"
            invokespecial sun.net.httpserver.HttpError.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 534
      StackMap locals: sun.net.httpserver.ServerImpl$Exchange int javax.net.ssl.SSLEngine java.lang.String sun.net.httpserver.SSLStreams
      StackMap stack:
            new sun.net.httpserver.SSLStreams
            dup
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.sslContext:Ljavax/net/ssl/SSLContext;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.chan:Ljava/nio/channels/SocketChannel;
            invokespecial sun.net.httpserver.SSLStreams.<init>:(Lsun/net/httpserver/ServerImpl;Ljavax/net/ssl/SSLContext;Ljava/nio/channels/SocketChannel;)V
            astore 4 /* sslStreams */
        17: .line 535
            aload 0 /* this */
            aload 4 /* sslStreams */
            invokevirtual sun.net.httpserver.SSLStreams.getInputStream:()Lsun/net/httpserver/SSLStreams$InputStream;
            putfield sun.net.httpserver.ServerImpl$Exchange.rawin:Ljava/io/InputStream;
        18: .line 536
            aload 0 /* this */
            aload 4 /* sslStreams */
            invokevirtual sun.net.httpserver.SSLStreams.getOutputStream:()Lsun/net/httpserver/SSLStreams$OutputStream;
            putfield sun.net.httpserver.ServerImpl$Exchange.rawout:Ljava/io/OutputStream;
        19: .line 537
            aload 4 /* sslStreams */
            invokevirtual sun.net.httpserver.SSLStreams.getSSLEngine:()Ljavax/net/ssl/SSLEngine;
            astore 2 /* engine */
        20: .line 538
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            aload 4 /* sslStreams */
            putfield sun.net.httpserver.HttpConnection.sslStreams:Lsun/net/httpserver/SSLStreams;
        21: .line 539
            goto 30
        22: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.BufferedInputStream
            dup
        23: .line 541
            new sun.net.httpserver.Request$ReadStream
            dup
        24: .line 542
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.chan:Ljava/nio/channels/SocketChannel;
        25: .line 541
            invokespecial sun.net.httpserver.Request$ReadStream.<init>:(Lsun/net/httpserver/ServerImpl;Ljava/nio/channels/SocketChannel;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
        26: .line 540
            putfield sun.net.httpserver.ServerImpl$Exchange.rawin:Ljava/io/InputStream;
        27: .line 544
            aload 0 /* this */
            new sun.net.httpserver.Request$WriteStream
            dup
        28: .line 545
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.chan:Ljava/nio/channels/SocketChannel;
            invokespecial sun.net.httpserver.Request$WriteStream.<init>:(Lsun/net/httpserver/ServerImpl;Ljava/nio/channels/SocketChannel;)V
        29: .line 544
            putfield sun.net.httpserver.ServerImpl$Exchange.rawout:Ljava/io/OutputStream;
        30: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawin:Ljava/io/InputStream;
            putfield sun.net.httpserver.HttpConnection.raw:Ljava/io/InputStream;
        31: .line 549
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawout:Ljava/io/OutputStream;
            putfield sun.net.httpserver.HttpConnection.rawout:Ljava/io/OutputStream;
        32: .line 551
      StackMap locals:
      StackMap stack:
            new sun.net.httpserver.Request
            dup
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawin:Ljava/io/InputStream;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawout:Ljava/io/OutputStream;
            invokespecial sun.net.httpserver.Request.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
            astore 5 /* req */
        start local 5 // sun.net.httpserver.Request req
        33: .line 552
            aload 5 /* req */
            invokevirtual sun.net.httpserver.Request.requestLine:()Ljava/lang/String;
            astore 3 /* requestLine */
        34: .line 553
            aload 3 /* requestLine */
            ifnonnull 38
        35: .line 555
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "no request line: closing"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        36: .line 556
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.ServerImpl.closeConnection:(Lsun/net/httpserver/HttpConnection;)V
        37: .line 557
            return
        38: .line 559
      StackMap locals: sun.net.httpserver.Request
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "Exchange request line: {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* requestLine */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
        39: .line 560
            aload 3 /* requestLine */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* space */
        start local 6 // int space
        40: .line 561
            iload 6 /* space */
            iconst_m1
            if_icmpne 45
        41: .line 562
            aload 0 /* this */
            sipush 400
        42: .line 563
            aload 3 /* requestLine */
            ldc "Bad request line"
        43: .line 562
            invokevirtual sun.net.httpserver.ServerImpl$Exchange.reject:(ILjava/lang/String;Ljava/lang/String;)V
        44: .line 564
            return
        45: .line 566
      StackMap locals: int
      StackMap stack:
            aload 3 /* requestLine */
            iconst_0
            iload 6 /* space */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* method */
        start local 7 // java.lang.String method
        46: .line 567
            iload 6 /* space */
            iconst_1
            iadd
            istore 8 /* start */
        start local 8 // int start
        47: .line 568
            aload 3 /* requestLine */
            bipush 32
            iload 8 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* space */
        48: .line 569
            iload 6 /* space */
            iconst_m1
            if_icmpne 53
        49: .line 570
            aload 0 /* this */
            sipush 400
        50: .line 571
            aload 3 /* requestLine */
            ldc "Bad request line"
        51: .line 570
            invokevirtual sun.net.httpserver.ServerImpl$Exchange.reject:(ILjava/lang/String;Ljava/lang/String;)V
        52: .line 572
            return
        53: .line 574
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 3 /* requestLine */
            iload 8 /* start */
            iload 6 /* space */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* uriStr */
        start local 9 // java.lang.String uriStr
        54: .line 575
            new java.net.URI
            dup
            aload 9 /* uriStr */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            astore 10 /* uri */
        start local 10 // java.net.URI uri
        55: .line 576
            iload 6 /* space */
            iconst_1
            iadd
            istore 8 /* start */
        56: .line 577
            aload 3 /* requestLine */
            iload 8 /* start */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 11 /* version */
        start local 11 // java.lang.String version
        57: .line 578
            aload 5 /* req */
            invokevirtual sun.net.httpserver.Request.headers:()Lcom/sun/net/httpserver/Headers;
            astore 12 /* headers */
        start local 12 // com.sun.net.httpserver.Headers headers
        58: .line 579
            aload 12 /* headers */
            ldc "Transfer-encoding"
            invokevirtual com.sun.net.httpserver.Headers.getFirst:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* s */
        start local 13 // java.lang.String s
        59: .line 580
            lconst_0
            lstore 14 /* clen */
        start local 14 // long clen
        60: .line 581
            aload 13 /* s */
            ifnull 63
            aload 13 /* s */
            ldc "chunked"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 63
        61: .line 582
            ldc -1
            lstore 14 /* clen */
        62: .line 583
            goto 68
        63: .line 584
      StackMap locals: sun.net.httpserver.ServerImpl$Exchange int javax.net.ssl.SSLEngine java.lang.String sun.net.httpserver.SSLStreams sun.net.httpserver.Request int java.lang.String int java.lang.String java.net.URI java.lang.String com.sun.net.httpserver.Headers java.lang.String long
      StackMap stack:
            aload 12 /* headers */
            ldc "Content-Length"
            invokevirtual com.sun.net.httpserver.Headers.getFirst:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* s */
        64: .line 585
            aload 13 /* s */
            ifnull 66
        65: .line 586
            aload 13 /* s */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lstore 14 /* clen */
        66: .line 588
      StackMap locals:
      StackMap stack:
            lload 14 /* clen */
            lconst_0
            lcmp
            ifne 68
        67: .line 589
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.ServerImpl.requestCompleted:(Lsun/net/httpserver/HttpConnection;)V
        68: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.contexts:Lsun/net/httpserver/ContextList;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.protocol:Ljava/lang/String;
            aload 10 /* uri */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            invokevirtual sun.net.httpserver.ContextList.findContext:(Ljava/lang/String;Ljava/lang/String;)Lsun/net/httpserver/HttpContextImpl;
            putfield sun.net.httpserver.ServerImpl$Exchange.ctx:Lsun/net/httpserver/HttpContextImpl;
        69: .line 593
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.ctx:Lsun/net/httpserver/HttpContextImpl;
            ifnonnull 74
        70: .line 594
            aload 0 /* this */
            sipush 404
        71: .line 595
            aload 3 /* requestLine */
            ldc "No context found for request"
        72: .line 594
            invokevirtual sun.net.httpserver.ServerImpl$Exchange.reject:(ILjava/lang/String;Ljava/lang/String;)V
        73: .line 596
            return
        74: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.ctx:Lsun/net/httpserver/HttpContextImpl;
            invokevirtual sun.net.httpserver.HttpConnection.setContext:(Lsun/net/httpserver/HttpContextImpl;)V
        75: .line 599
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.ctx:Lsun/net/httpserver/HttpContextImpl;
            invokevirtual sun.net.httpserver.HttpContextImpl.getHandler:()Lcom/sun/net/httpserver/HttpHandler;
            ifnonnull 80
        76: .line 600
            aload 0 /* this */
            sipush 500
        77: .line 601
            aload 3 /* requestLine */
            ldc "No handler for context"
        78: .line 600
            invokevirtual sun.net.httpserver.ServerImpl$Exchange.reject:(ILjava/lang/String;Ljava/lang/String;)V
        79: .line 602
            return
        80: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.net.httpserver.ExchangeImpl
            dup
        81: .line 605
            aload 7 /* method */
            aload 10 /* uri */
            aload 5 /* req */
            lload 14 /* clen */
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokespecial sun.net.httpserver.ExchangeImpl.<init>:(Ljava/lang/String;Ljava/net/URI;Lsun/net/httpserver/Request;JLsun/net/httpserver/HttpConnection;)V
        82: .line 604
            putfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
        83: .line 607
            aload 12 /* headers */
            ldc "Connection"
            invokevirtual com.sun.net.httpserver.Headers.getFirst:(Ljava/lang/String;)Ljava/lang/String;
            astore 16 /* chdr */
        start local 16 // java.lang.String chdr
        84: .line 608
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
            invokevirtual sun.net.httpserver.ExchangeImpl.getResponseHeaders:()Lcom/sun/net/httpserver/Headers;
            astore 17 /* rheaders */
        start local 17 // com.sun.net.httpserver.Headers rheaders
        85: .line 610
            aload 16 /* chdr */
            ifnull 87
            aload 16 /* chdr */
            ldc "close"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 87
        86: .line 611
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
            iconst_1
            putfield sun.net.httpserver.ExchangeImpl.close:Z
        87: .line 613
      StackMap locals: java.lang.String com.sun.net.httpserver.Headers
      StackMap stack:
            aload 11 /* version */
            ldc "http/1.0"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 99
        88: .line 614
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
            iconst_1
            putfield sun.net.httpserver.ExchangeImpl.http10:Z
        89: .line 615
            aload 16 /* chdr */
            ifnonnull 93
        90: .line 616
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
            iconst_1
            putfield sun.net.httpserver.ExchangeImpl.close:Z
        91: .line 617
            aload 17 /* rheaders */
            ldc "Connection"
            ldc "close"
            invokevirtual com.sun.net.httpserver.Headers.set:(Ljava/lang/String;Ljava/lang/String;)V
        92: .line 618
            goto 99
      StackMap locals:
      StackMap stack:
        93: aload 16 /* chdr */
            ldc "keep-alive"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 99
        94: .line 619
            aload 17 /* rheaders */
            ldc "Connection"
            ldc "keep-alive"
            invokevirtual com.sun.net.httpserver.Headers.set:(Ljava/lang/String;Ljava/lang/String;)V
        95: .line 620
            invokestatic sun.net.httpserver.ServerConfig.getIdleInterval:()J
            ldc 1000
            ldiv
            l2i
            istore 18 /* idle */
        start local 18 // int idle
        96: .line 621
            invokestatic sun.net.httpserver.ServerConfig.getMaxIdleConnections:()I
            istore 19 /* max */
        start local 19 // int max
        97: .line 622
            new java.lang.StringBuilder
            dup
            ldc "timeout="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 18 /* idle */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", max="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 19 /* max */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 20 /* val */
        start local 20 // java.lang.String val
        98: .line 623
            aload 17 /* rheaders */
            ldc "Keep-Alive"
            aload 20 /* val */
            invokevirtual com.sun.net.httpserver.Headers.set:(Ljava/lang/String;Ljava/lang/String;)V
        end local 20 // java.lang.String val
        end local 19 // int max
        end local 18 // int idle
        99: .line 627
      StackMap locals:
      StackMap stack:
            iload 1 /* newconnection */
            ifeq 104
       100: .line 628
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
       101: .line 629
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawin:Ljava/io/InputStream;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawout:Ljava/io/OutputStream;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.chan:Ljava/nio/channels/SocketChannel;
            aload 2 /* engine */
            aload 4 /* sslStreams */
       102: .line 630
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.sslContext:Ljavax/net/ssl/SSLContext;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.protocol:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.ctx:Lsun/net/httpserver/HttpContextImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawin:Ljava/io/InputStream;
       103: .line 628
            invokevirtual sun.net.httpserver.HttpConnection.setParameters:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/channels/SocketChannel;Ljavax/net/ssl/SSLEngine;Lsun/net/httpserver/SSLStreams;Ljavax/net/ssl/SSLContext;Ljava/lang/String;Lsun/net/httpserver/HttpContextImpl;Ljava/io/InputStream;)V
       104: .line 638
      StackMap locals:
      StackMap stack:
            aload 12 /* headers */
            ldc "Expect"
            invokevirtual com.sun.net.httpserver.Headers.getFirst:(Ljava/lang/String;)Ljava/lang/String;
            astore 18 /* exp */
        start local 18 // java.lang.String exp
       105: .line 639
            aload 18 /* exp */
            ifnull 110
            aload 18 /* exp */
            ldc "100-continue"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 110
       106: .line 640
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            bipush 100
            aload 3 /* requestLine */
            aconst_null
            invokevirtual sun.net.httpserver.ServerImpl.logReply:(ILjava/lang/String;Ljava/lang/String;)V
       107: .line 641
            aload 0 /* this */
       108: .line 642
            bipush 100
            iconst_0
            aconst_null
       109: .line 641
            invokevirtual sun.net.httpserver.ServerImpl$Exchange.sendReply:(IZLjava/lang/String;)V
       110: .line 652
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.ctx:Lsun/net/httpserver/HttpContextImpl;
            invokevirtual sun.net.httpserver.HttpContextImpl.getSystemFilters:()Ljava/util/List;
            astore 19 /* sf */
        start local 19 // java.util.List sf
       111: .line 653
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.ctx:Lsun/net/httpserver/HttpContextImpl;
            invokevirtual sun.net.httpserver.HttpContextImpl.getFilters:()Ljava/util/List;
            astore 20 /* uf */
        start local 20 // java.util.List uf
       112: .line 655
            new com.sun.net.httpserver.Filter$Chain
            dup
            aload 19 /* sf */
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.ctx:Lsun/net/httpserver/HttpContextImpl;
            invokevirtual sun.net.httpserver.HttpContextImpl.getHandler:()Lcom/sun/net/httpserver/HttpHandler;
            invokespecial com.sun.net.httpserver.Filter$Chain.<init>:(Ljava/util/List;Lcom/sun/net/httpserver/HttpHandler;)V
            astore 21 /* sc */
        start local 21 // com.sun.net.httpserver.Filter$Chain sc
       113: .line 656
            new com.sun.net.httpserver.Filter$Chain
            dup
            aload 20 /* uf */
            new sun.net.httpserver.ServerImpl$Exchange$LinkHandler
            dup
            aload 0 /* this */
            aload 21 /* sc */
            invokespecial sun.net.httpserver.ServerImpl$Exchange$LinkHandler.<init>:(Lsun/net/httpserver/ServerImpl$Exchange;Lcom/sun/net/httpserver/Filter$Chain;)V
            invokespecial com.sun.net.httpserver.Filter$Chain.<init>:(Ljava/util/List;Lcom/sun/net/httpserver/HttpHandler;)V
            astore 22 /* uc */
        start local 22 // com.sun.net.httpserver.Filter$Chain uc
       114: .line 659
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
            invokevirtual sun.net.httpserver.ExchangeImpl.getRequestBody:()Ljava/io/InputStream;
            pop
       115: .line 660
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
            invokevirtual sun.net.httpserver.ExchangeImpl.getResponseBody:()Ljava/io/OutputStream;
            pop
       116: .line 661
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.https:Z
            ifeq 119
       117: .line 662
            aload 22 /* uc */
            new sun.net.httpserver.HttpsExchangeImpl
            dup
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
            invokespecial sun.net.httpserver.HttpsExchangeImpl.<init>:(Lsun/net/httpserver/ExchangeImpl;)V
            invokevirtual com.sun.net.httpserver.Filter$Chain.doFilter:(Lcom/sun/net/httpserver/HttpExchange;)V
       118: .line 663
            goto 140
       119: .line 664
      StackMap locals: sun.net.httpserver.ServerImpl$Exchange int javax.net.ssl.SSLEngine java.lang.String sun.net.httpserver.SSLStreams sun.net.httpserver.Request int java.lang.String int java.lang.String java.net.URI java.lang.String com.sun.net.httpserver.Headers java.lang.String long java.lang.String com.sun.net.httpserver.Headers java.lang.String java.util.List java.util.List com.sun.net.httpserver.Filter$Chain com.sun.net.httpserver.Filter$Chain
      StackMap stack:
            aload 22 /* uc */
            new sun.net.httpserver.HttpExchangeImpl
            dup
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.tx:Lsun/net/httpserver/ExchangeImpl;
            invokespecial sun.net.httpserver.HttpExchangeImpl.<init>:(Lsun/net/httpserver/ExchangeImpl;)V
            invokevirtual com.sun.net.httpserver.Filter$Chain.doFilter:(Lcom/sun/net/httpserver/HttpExchange;)V
        end local 22 // com.sun.net.httpserver.Filter$Chain uc
        end local 21 // com.sun.net.httpserver.Filter$Chain sc
        end local 20 // java.util.List uf
        end local 19 // java.util.List sf
        end local 18 // java.lang.String exp
        end local 17 // com.sun.net.httpserver.Headers rheaders
        end local 16 // java.lang.String chdr
        end local 14 // long clen
        end local 13 // java.lang.String s
        end local 12 // com.sun.net.httpserver.Headers headers
        end local 11 // java.lang.String version
        end local 10 // java.net.URI uri
        end local 9 // java.lang.String uriStr
        end local 8 // int start
        end local 7 // java.lang.String method
        end local 6 // int space
        end local 5 // sun.net.httpserver.Request req
       120: .line 667
            goto 140
        end local 1 // boolean newconnection
      StackMap locals: sun.net.httpserver.ServerImpl$Exchange top javax.net.ssl.SSLEngine java.lang.String sun.net.httpserver.SSLStreams
      StackMap stack: java.io.IOException
       121: astore 5 /* e1 */
        start local 5 // java.io.IOException e1
       122: .line 668
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ServerImpl.Exchange (1)"
            aload 5 /* e1 */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       123: .line 669
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.ServerImpl.closeConnection:(Lsun/net/httpserver/HttpConnection;)V
        end local 5 // java.io.IOException e1
       124: goto 140
       125: .line 670
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            astore 5 /* e2 */
        start local 5 // java.lang.NumberFormatException e2
       126: .line 671
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ServerImpl.Exchange (2)"
            aload 5 /* e2 */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       127: .line 672
            aload 0 /* this */
            sipush 400
       128: .line 673
            aload 3 /* requestLine */
            ldc "NumberFormatException thrown"
       129: .line 672
            invokevirtual sun.net.httpserver.ServerImpl$Exchange.reject:(ILjava/lang/String;Ljava/lang/String;)V
        end local 5 // java.lang.NumberFormatException e2
       130: goto 140
       131: .line 674
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
            astore 5 /* e3 */
        start local 5 // java.net.URISyntaxException e3
       132: .line 675
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ServerImpl.Exchange (3)"
            aload 5 /* e3 */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       133: .line 676
            aload 0 /* this */
            sipush 400
       134: .line 677
            aload 3 /* requestLine */
            ldc "URISyntaxException thrown"
       135: .line 676
            invokevirtual sun.net.httpserver.ServerImpl$Exchange.reject:(ILjava/lang/String;Ljava/lang/String;)V
        end local 5 // java.net.URISyntaxException e3
       136: goto 140
       137: .line 678
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e4 */
        start local 5 // java.lang.Exception e4
       138: .line 679
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ServerImpl.Exchange (4)"
            aload 5 /* e4 */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       139: .line 680
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.ServerImpl.closeConnection:(Lsun/net/httpserver/HttpConnection;)V
        end local 5 // java.lang.Exception e4
       140: .line 682
      StackMap locals:
      StackMap stack:
            return
        end local 4 // sun.net.httpserver.SSLStreams sslStreams
        end local 3 // java.lang.String requestLine
        end local 2 // javax.net.ssl.SSLEngine engine
        end local 0 // sun.net.httpserver.ServerImpl$Exchange this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  141     0           this  Lsun/net/httpserver/ServerImpl$Exchange;
            8    9     1  newconnection  Z
           10  121     1  newconnection  Z
            2  141     2         engine  Ljavax/net/ssl/SSLEngine;
            3  141     3    requestLine  Ljava/lang/String;
            4  141     4     sslStreams  Lsun/net/httpserver/SSLStreams;
           33  120     5            req  Lsun/net/httpserver/Request;
           40  120     6          space  I
           46  120     7         method  Ljava/lang/String;
           47  120     8          start  I
           54  120     9         uriStr  Ljava/lang/String;
           55  120    10            uri  Ljava/net/URI;
           57  120    11        version  Ljava/lang/String;
           58  120    12        headers  Lcom/sun/net/httpserver/Headers;
           59  120    13              s  Ljava/lang/String;
           60  120    14           clen  J
           84  120    16           chdr  Ljava/lang/String;
           85  120    17       rheaders  Lcom/sun/net/httpserver/Headers;
           96   99    18           idle  I
           97   99    19            max  I
           98   99    20            val  Ljava/lang/String;
          105  120    18            exp  Ljava/lang/String;
          111  120    19             sf  Ljava/util/List<Lcom/sun/net/httpserver/Filter;>;
          112  120    20             uf  Ljava/util/List<Lcom/sun/net/httpserver/Filter;>;
          113  120    21             sc  Lcom/sun/net/httpserver/Filter$Chain;
          114  120    22             uc  Lcom/sun/net/httpserver/Filter$Chain;
          122  124     5             e1  Ljava/io/IOException;
          126  130     5             e2  Ljava/lang/NumberFormatException;
          132  136     5             e3  Ljava/net/URISyntaxException;
          138  140     5             e4  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4    37     121  Class java.io.IOException
          38    44     121  Class java.io.IOException
          45    52     121  Class java.io.IOException
          53    73     121  Class java.io.IOException
          74    79     121  Class java.io.IOException
          80   120     121  Class java.io.IOException
           4    37     125  Class java.lang.NumberFormatException
          38    44     125  Class java.lang.NumberFormatException
          45    52     125  Class java.lang.NumberFormatException
          53    73     125  Class java.lang.NumberFormatException
          74    79     125  Class java.lang.NumberFormatException
          80   120     125  Class java.lang.NumberFormatException
           4    37     131  Class java.net.URISyntaxException
          38    44     131  Class java.net.URISyntaxException
          45    52     131  Class java.net.URISyntaxException
          53    73     131  Class java.net.URISyntaxException
          74    79     131  Class java.net.URISyntaxException
          80   120     131  Class java.net.URISyntaxException
           4    37     137  Class java.lang.Exception
          38    44     137  Class java.lang.Exception
          45    52     137  Class java.lang.Exception
          53    73     137  Class java.lang.Exception
          74    79     137  Class java.lang.Exception
          80   120     137  Class java.lang.Exception

  void reject(int, java.lang.String, java.lang.String);
    descriptor: (ILjava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // sun.net.httpserver.ServerImpl$Exchange this
        start local 1 // int code
        start local 2 // java.lang.String requestStr
        start local 3 // java.lang.String message
         0: .line 699
            aload 0 /* this */
            iconst_1
            putfield sun.net.httpserver.ServerImpl$Exchange.rejected:Z
         1: .line 700
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            iload 1 /* code */
            aload 2 /* requestStr */
            aload 3 /* message */
            invokevirtual sun.net.httpserver.ServerImpl.logReply:(ILjava/lang/String;Ljava/lang/String;)V
         2: .line 701
            aload 0 /* this */
         3: .line 702
            iload 1 /* code */
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "<h1>"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            iload 1 /* code */
            invokestatic sun.net.httpserver.Code.msg:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</h1>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 701
            invokevirtual sun.net.httpserver.ServerImpl$Exchange.sendReply:(IZLjava/lang/String;)V
         5: .line 704
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.ServerImpl.closeConnection:(Lsun/net/httpserver/HttpConnection;)V
         6: .line 705
            return
        end local 3 // java.lang.String message
        end local 2 // java.lang.String requestStr
        end local 1 // int code
        end local 0 // sun.net.httpserver.ServerImpl$Exchange this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lsun/net/httpserver/ServerImpl$Exchange;
            0    7     1        code  I
            0    7     2  requestStr  Ljava/lang/String;
            0    7     3     message  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      code        
      requestStr  
      message     

  void sendReply(int, boolean, java.lang.String);
    descriptor: (IZLjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // sun.net.httpserver.ServerImpl$Exchange this
        start local 1 // int code
        start local 2 // boolean closeNow
        start local 3 // java.lang.String text
         0: .line 711
            new java.lang.StringBuilder
            dup
            sipush 512
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* builder */
        start local 4 // java.lang.StringBuilder builder
         1: .line 712
            aload 4 /* builder */
            ldc "HTTP/1.1 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 713
            iload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            iload 1 /* code */
            invokestatic sun.net.httpserver.Code.msg:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 715
            aload 3 /* text */
            ifnull 8
            aload 3 /* text */
            invokevirtual java.lang.String.length:()I
            ifeq 8
         4: .line 716
            aload 4 /* builder */
            ldc "Content-Length: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 717
            aload 3 /* text */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 718
            ldc "Content-Type: text/html\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 719
            goto 10
         8: .line 720
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 4 /* builder */
            ldc "Content-Length: 0\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 721
            ldc ""
            astore 3 /* text */
        10: .line 723
      StackMap locals:
      StackMap stack:
            iload 2 /* closeNow */
            ifeq 12
        11: .line 724
            aload 4 /* builder */
            ldc "Connection: close\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 726
      StackMap locals:
      StackMap stack:
            aload 4 /* builder */
            ldc "\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* text */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 727
            aload 4 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        14: .line 728
            aload 5 /* s */
            ldc "ISO8859_1"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 6 /* b */
        start local 6 // byte[] b
        15: .line 729
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawout:Ljava/io/OutputStream;
            aload 6 /* b */
            invokevirtual java.io.OutputStream.write:([B)V
        16: .line 730
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.rawout:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.flush:()V
        17: .line 731
            iload 2 /* closeNow */
            ifeq 23
        18: .line 732
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.ServerImpl.closeConnection:(Lsun/net/httpserver/HttpConnection;)V
        end local 6 // byte[] b
        end local 5 // java.lang.String s
        end local 4 // java.lang.StringBuilder builder
        19: .line 734
            goto 23
      StackMap locals: sun.net.httpserver.ServerImpl$Exchange int int java.lang.String
      StackMap stack: java.io.IOException
        20: astore 4 /* e */
        start local 4 // java.io.IOException e
        21: .line 735
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ServerImpl.sendReply"
            aload 4 /* e */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        22: .line 736
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.this$0:Lsun/net/httpserver/ServerImpl;
            aload 0 /* this */
            getfield sun.net.httpserver.ServerImpl$Exchange.connection:Lsun/net/httpserver/HttpConnection;
            invokevirtual sun.net.httpserver.ServerImpl.closeConnection:(Lsun/net/httpserver/HttpConnection;)V
        end local 4 // java.io.IOException e
        23: .line 738
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String text
        end local 2 // boolean closeNow
        end local 1 // int code
        end local 0 // sun.net.httpserver.ServerImpl$Exchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lsun/net/httpserver/ServerImpl$Exchange;
            0   24     1      code  I
            0   24     2  closeNow  Z
            0   24     3      text  Ljava/lang/String;
            1   19     4   builder  Ljava/lang/StringBuilder;
           14   19     5         s  Ljava/lang/String;
           15   19     6         b  [B
           21   23     4         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    19      20  Class java.io.IOException
    MethodParameters:
          Name  Flags
      code      
      closeNow  
      text      
}
SourceFile: "ServerImpl.java"
NestHost: sun.net.httpserver.ServerImpl
InnerClasses:
  public Chain = com.sun.net.httpserver.Filter$Chain of com.sun.net.httpserver.Filter
  public abstract Logger = java.lang.System$Logger of java.lang.System
  public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
  ReadStream = sun.net.httpserver.Request$ReadStream of sun.net.httpserver.Request
  WriteStream = sun.net.httpserver.Request$WriteStream of sun.net.httpserver.Request
  InputStream = sun.net.httpserver.SSLStreams$InputStream of sun.net.httpserver.SSLStreams
  OutputStream = sun.net.httpserver.SSLStreams$OutputStream of sun.net.httpserver.SSLStreams
  Exchange = sun.net.httpserver.ServerImpl$Exchange of sun.net.httpserver.ServerImpl
  LinkHandler = sun.net.httpserver.ServerImpl$Exchange$LinkHandler of sun.net.httpserver.ServerImpl$Exchange