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 36
            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 34
            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 14
         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 7
         3: .line 45
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getInputBuffer:()Lorg/glassfish/grizzly/http/io/InputBuffer;
            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
            invokevirtual org.glassfish.grizzly.http.io.InputBuffer.fillFully:(I)V
         4: .line 46
            goto 7
      StackMap locals: org.glassfish.grizzly.http.server.Request java.lang.Object
      StackMap stack: java.io.IOException
         5: astore 2 /* e */
        start local 2 // java.io.IOException e
         6: .line 47
            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
         7: .line 51
      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;
            astore 2 /* certFuture */
        start local 2 // org.glassfish.grizzly.GrizzlyFuture certFuture
         8: .line 54
            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 */
         9: .line 55
            goto 13
      StackMap locals: org.glassfish.grizzly.http.server.Request java.lang.Object org.glassfish.grizzly.GrizzlyFuture
      StackMap stack: java.lang.Exception
        10: astore 3 /* e */
        start local 3 // java.lang.Exception e
        11: .line 56
            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 13
        12: .line 57
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Unable to obtain certificates from peer."
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        13: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* request */
            ldc "jakarta.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
        14: .line 63
      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   15     0       request  Lorg/glassfish/grizzly/http/server/Request;
            1   15     1  certificates  Ljava/lang/Object;
            6    7     2             e  Ljava/io/IOException;
            8   14     2    certFuture  Lorg/glassfish/grizzly/GrizzlyFuture<[Ljava/lang/Object;>;
           11   13     3             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
           8     9      10  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 67
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.isSecure:()Z
            ifeq 18
         1: .line 69
            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 70
            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 71
            aload 2 /* sslO */
            ifnull 5
         4: .line 72
            aload 0 /* request */
            ldc "jakarta.servlet.request.cipher_suite"
            aload 2 /* sslO */
            invokevirtual org.glassfish.grizzly.http.server.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 74
      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 75
            aload 2 /* sslO */
            ifnull 8
         7: .line 76
            aload 0 /* request */
            ldc "jakarta.servlet.request.X509Certificate"
            aload 2 /* sslO */
            invokevirtual org.glassfish.grizzly.http.server.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 78
      StackMap locals:
      StackMap stack:
            aload 1 /* sslSupport */
            invokeinterface org.glassfish.grizzly.ssl.SSLSupport.getKeySize:()Ljava/lang/Integer;
            astore 2 /* sslO */
         9: .line 79
            aload 2 /* sslO */
            ifnull 11
        10: .line 80
            aload 0 /* request */
            ldc "jakarta.servlet.request.key_size"
            aload 2 /* sslO */
            invokevirtual org.glassfish.grizzly.http.server.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 82
      StackMap locals:
      StackMap stack:
            aload 1 /* sslSupport */
            invokeinterface org.glassfish.grizzly.ssl.SSLSupport.getSessionId:()Ljava/lang/String;
            astore 2 /* sslO */
        12: .line 83
            aload 2 /* sslO */
            ifnull 18
        13: .line 84
            aload 0 /* request */
            ldc "jakarta.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 86
            goto 18
      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 87
            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 18
        17: .line 88
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Unable to populate SSL attributes"
            aload 1 /* ioe */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Exception ioe
        18: .line 92
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.glassfish.grizzly.http.server.Request request
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     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   18     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 95
            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 96
            aload 1 /* f */
            ifnull 15
         2: .line 97
            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 98
            aload 2 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.isCommitted:()Z
            ifeq 7
         4: .line 99
            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 6
         5: .line 100
            getstatic org.glassfish.grizzly.http.server.util.RequestUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokestatic org.glassfish.grizzly.localization.LogMessages.WARNING_GRIZZLY_HTTP_SERVER_REQUESTUTILS_SENDFILE_FAILED:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         6: .line 103
      StackMap locals: java.lang.Object org.glassfish.grizzly.http.server.Response
      StackMap stack:
            return
         7: .line 106
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            checkcast java.io.File
            astore 3 /* file */
        start local 3 // java.io.File file
         8: .line 107
            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
         9: .line 108
            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
        10: .line 109
            aload 4 /* offset */
            ifnonnull 12
        11: .line 110
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 4 /* offset */
        12: .line 112
      StackMap locals: java.io.File java.lang.Long java.lang.Long
      StackMap stack:
            aload 5 /* len */
            ifnonnull 14
        13: .line 113
            aload 3 /* file */
            invokevirtual java.io.File.length:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 5 /* len */
        14: .line 116
      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
        15: .line 118
      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   16     0   request  Lorg/glassfish/grizzly/http/server/Request;
            1   16     1         f  Ljava/lang/Object;
            3   15     2  response  Lorg/glassfish/grizzly/http/server/Response;
            8   15     3      file  Ljava/io/File;
            9   15     4    offset  Ljava/lang/Long;
           10   15     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