public class org.glassfish.grizzly.http.server.util.RequestUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.http.server.util.RequestUtils
  super_class: java.lang.Object
{
  private static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 35
            ldc Lorg/glassfish/grizzly/http/server/util/RequestUtils;
            invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
            putstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http.server.util.RequestUtils this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.glassfish.grizzly.http.server.util.RequestUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http/server/util/RequestUtils;

  public static java.lang.Object populateCertificateAttribute(org.glassfish.grizzly.http.server.Request);
    descriptor: (Lorg/glassfish/grizzly/http/server/Request;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.glassfish.grizzly.http.server.Request request
         0: .line 39
            aconst_null
            astore 1 /* certificates */
        start local 1 // java.lang.Object certificates
         1: .line 41
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.isSecure:()Z
            ifeq 20
         2: .line 42
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.isUpgrade:()Z
            ifne 9
         3: .line 45
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getInputBuffer:()Lorg/glassfish/grizzly/http/io/InputBuffer;
         4: .line 46
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getHttpFilter:()Lorg/glassfish/grizzly/http/server/HttpServerFilter;
            invokevirtual org.glassfish.grizzly.http.server.HttpServerFilter.getConfiguration:()Lorg/glassfish/grizzly/http/server/ServerFilterConfiguration;
            invokevirtual org.glassfish.grizzly.http.server.ServerFilterConfiguration.getMaxBufferedPostSize:()I
         5: .line 45
            invokevirtual org.glassfish.grizzly.http.io.InputBuffer.fillFully:(I)V
         6: .line 47
            goto 9
      StackMap locals: org.glassfish.grizzly.http.server.Request java.lang.Object
      StackMap stack: java.io.IOException
         7: astore 2 /* e */
        start local 2 // java.io.IOException e
         8: .line 48
            new java.lang.IllegalStateException
            dup
            ldc "Can't complete SSL re-negotation"
            aload 2 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
         9: .line 53
      StackMap locals:
      StackMap stack:
            new org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent
            dup
            iconst_1
            invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent.<init>:(Z)V
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getContext:()Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent.trigger:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/GrizzlyFuture;
        10: .line 52
            astore 2 /* certFuture */
        start local 2 // org.glassfish.grizzly.GrizzlyFuture certFuture
        11: .line 56
            aload 2 /* certFuture */
            ldc 30
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface org.glassfish.grizzly.GrizzlyFuture.get:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
            astore 1 /* certificates */
        12: .line 57
            goto 19
      StackMap locals: org.glassfish.grizzly.http.server.Request java.lang.Object org.glassfish.grizzly.GrizzlyFuture
      StackMap stack: java.lang.Exception
        13: astore 3 /* e */
        start local 3 // java.lang.Exception e
        14: .line 58
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 19
        15: .line 59
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
        16: .line 60
            ldc "Unable to obtain certificates from peer."
        17: .line 61
            aload 3 /* e */
        18: .line 59
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        19: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* request */
            ldc "javax.servlet.request.X509Certificate"
            aload 1 /* certificates */
            invokevirtual org.glassfish.grizzly.http.server.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 2 // org.glassfish.grizzly.GrizzlyFuture certFuture
        20: .line 67
      StackMap locals:
      StackMap stack:
            aload 1 /* certificates */
            areturn
        end local 1 // java.lang.Object certificates
        end local 0 // org.glassfish.grizzly.http.server.Request request
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0       request  Lorg/glassfish/grizzly/http/server/Request;
            1   21     1  certificates  Ljava/lang/Object;
            8    9     2             e  Ljava/io/IOException;
           11   20     2    certFuture  Lorg/glassfish/grizzly/GrizzlyFuture<[Ljava/lang/Object;>;
           14   19     3             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     6       7  Class java.io.IOException
          11    12      13  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      request  final

  public static void populateSSLAttributes(org.glassfish.grizzly.http.server.Request);
    descriptor: (Lorg/glassfish/grizzly/http/server/Request;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.http.server.Request request
         0: .line 71
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.isSecure:()Z
            ifeq 21
         1: .line 73
            new org.glassfish.grizzly.ssl.SSLSupportImpl
            dup
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getContext:()Lorg/glassfish/grizzly/filterchain/FilterChainContext;
            invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
            invokespecial org.glassfish.grizzly.ssl.SSLSupportImpl.<init>:(Lorg/glassfish/grizzly/Connection;)V
            astore 1 /* sslSupport */
        start local 1 // org.glassfish.grizzly.ssl.SSLSupport sslSupport
         2: .line 74
            aload 1 /* sslSupport */
            invokeinterface org.glassfish.grizzly.ssl.SSLSupport.getCipherSuite:()Ljava/lang/String;
            astore 2 /* sslO */
        start local 2 // java.lang.Object sslO
         3: .line 75
            aload 2 /* sslO */
            ifnull 5
         4: .line 76
            aload 0 /* request */
            ldc "javax.servlet.request.cipher_suite"
            aload 2 /* sslO */
            invokevirtual org.glassfish.grizzly.http.server.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 78
      StackMap locals: org.glassfish.grizzly.ssl.SSLSupport java.lang.Object
      StackMap stack:
            aload 1 /* sslSupport */
            iconst_0
            invokeinterface org.glassfish.grizzly.ssl.SSLSupport.getPeerCertificateChain:(Z)[Ljava/lang/Object;
            astore 2 /* sslO */
         6: .line 79
            aload 2 /* sslO */
            ifnull 8
         7: .line 80
            aload 0 /* request */
            ldc "javax.servlet.request.X509Certificate"
            aload 2 /* sslO */
            invokevirtual org.glassfish.grizzly.http.server.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 82
      StackMap locals:
      StackMap stack:
            aload 1 /* sslSupport */
            invokeinterface org.glassfish.grizzly.ssl.SSLSupport.getKeySize:()Ljava/lang/Integer;
            astore 2 /* sslO */
         9: .line 83
            aload 2 /* sslO */
            ifnull 11
        10: .line 84
            aload 0 /* request */
            ldc "javax.servlet.request.key_size"
            aload 2 /* sslO */
            invokevirtual org.glassfish.grizzly.http.server.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 86
      StackMap locals:
      StackMap stack:
            aload 1 /* sslSupport */
            invokeinterface org.glassfish.grizzly.ssl.SSLSupport.getSessionId:()Ljava/lang/String;
            astore 2 /* sslO */
        12: .line 87
            aload 2 /* sslO */
            ifnull 21
        13: .line 88
            aload 0 /* request */
            ldc "javax.servlet.request.ssl_session_id"
            aload 2 /* sslO */
            invokevirtual org.glassfish.grizzly.http.server.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 2 // java.lang.Object sslO
        end local 1 // org.glassfish.grizzly.ssl.SSLSupport sslSupport
        14: .line 90
            goto 21
      StackMap locals: org.glassfish.grizzly.http.server.Request
      StackMap stack: java.lang.Exception
        15: astore 1 /* ioe */
        start local 1 // java.lang.Exception ioe
        16: .line 91
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 21
        17: .line 92
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
        18: .line 93
            ldc "Unable to populate SSL attributes"
        19: .line 94
            aload 1 /* ioe */
        20: .line 92
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Exception ioe
        21: .line 98
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.glassfish.grizzly.http.server.Request request
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0     request  Lorg/glassfish/grizzly/http/server/Request;
            2   14     1  sslSupport  Lorg/glassfish/grizzly/ssl/SSLSupport;
            3   14     2        sslO  Ljava/lang/Object;
           16   21     1         ioe  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    14      15  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      request  final

  public static void handleSendFile(org.glassfish.grizzly.http.server.Request);
    descriptor: (Lorg/glassfish/grizzly/http/server/Request;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // org.glassfish.grizzly.http.server.Request request
         0: .line 102
            aload 0 /* request */
            ldc "org.glassfish.grizzly.http.SEND_FILE"
            invokevirtual org.glassfish.grizzly.http.server.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* f */
        start local 1 // java.lang.Object f
         1: .line 103
            aload 1 /* f */
            ifnull 17
         2: .line 104
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getResponse:()Lorg/glassfish/grizzly/http/server/Response;
            astore 2 /* response */
        start local 2 // org.glassfish.grizzly.http.server.Response response
         3: .line 105
            aload 2 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.isCommitted:()Z
            ifeq 9
         4: .line 106
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 8
         5: .line 107
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
         6: .line 108
            invokestatic org.glassfish.grizzly.localization.LogMessages.WARNING_GRIZZLY_HTTP_SERVER_REQUESTUTILS_SENDFILE_FAILED:()Ljava/lang/String;
         7: .line 107
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         8: .line 111
      StackMap locals: java.lang.Object org.glassfish.grizzly.http.server.Response
      StackMap stack:
            return
         9: .line 114
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            checkcast java.io.File
            astore 3 /* file */
        start local 3 // java.io.File file
        10: .line 115
            aload 0 /* request */
            ldc "org.glassfish.grizzly.http.FILE_START_OFFSET"
            invokevirtual org.glassfish.grizzly.http.server.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 4 /* offset */
        start local 4 // java.lang.Long offset
        11: .line 116
            aload 0 /* request */
            ldc "org.glassfish.grizzly.http.FILE_WRITE_LEN"
            invokevirtual org.glassfish.grizzly.http.server.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 5 /* len */
        start local 5 // java.lang.Long len
        12: .line 117
            aload 4 /* offset */
            ifnonnull 14
        13: .line 118
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 4 /* offset */
        14: .line 120
      StackMap locals: java.io.File java.lang.Long java.lang.Long
      StackMap stack:
            aload 5 /* len */
            ifnonnull 16
        15: .line 121
            aload 3 /* file */
            invokevirtual java.io.File.length:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 5 /* len */
        16: .line 124
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.getOutputBuffer:()Lorg/glassfish/grizzly/http/io/OutputBuffer;
            aload 3 /* file */
            aload 4 /* offset */
            invokevirtual java.lang.Long.longValue:()J
            aload 5 /* len */
            invokevirtual java.lang.Long.longValue:()J
            aconst_null
            invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.sendfile:(Ljava/io/File;JJLorg/glassfish/grizzly/CompletionHandler;)V
        end local 5 // java.lang.Long len
        end local 4 // java.lang.Long offset
        end local 3 // java.io.File file
        end local 2 // org.glassfish.grizzly.http.server.Response response
        17: .line 126
      StackMap locals: org.glassfish.grizzly.http.server.Request java.lang.Object
      StackMap stack:
            return
        end local 1 // java.lang.Object f
        end local 0 // org.glassfish.grizzly.http.server.Request request
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0   request  Lorg/glassfish/grizzly/http/server/Request;
            1   18     1         f  Ljava/lang/Object;
            3   17     2  response  Lorg/glassfish/grizzly/http/server/Response;
           10   17     3      file  Ljava/io/File;
           11   17     4    offset  Ljava/lang/Long;
           12   17     5       len  Ljava/lang/Long;
    MethodParameters:
         Name  Flags
      request  final
}
SourceFile: "RequestUtils.java"
InnerClasses:
  public CertificateEvent = org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent of org.glassfish.grizzly.ssl.SSLBaseFilter