class org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl extends org.glassfish.grizzly.servlet.HttpServletRequestImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl
  super_class: org.glassfish.grizzly.servlet.HttpServletRequestImpl
{
  private org.glassfish.grizzly.websockets.glassfish.GlassfishSupport glassfishSupport;
    descriptor: Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String pathInfo;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String servletPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String contextPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean isUserPrincipalUpdated;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.io.BufferedReader reader;
    descriptor: Ljava/io/BufferedReader;
    flags: (0x0002) ACC_PRIVATE

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 128
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.servlet.HttpServletRequestImpl.<init>:()V
            return
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;

  public void initialize(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.servlet.HttpServletResponseImpl, org.glassfish.grizzly.websockets.WebSocketMappingData);
    descriptor: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/servlet/HttpServletResponseImpl;Lorg/glassfish/grizzly/websockets/WebSocketMappingData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
        start local 1 // org.glassfish.grizzly.http.server.Request request
        start local 2 // org.glassfish.grizzly.servlet.HttpServletResponseImpl servletResponse
        start local 3 // org.glassfish.grizzly.websockets.WebSocketMappingData mappingData
         0: .line 141
            aload 3 /* mappingData */
            ifnull 3
         1: .line 142
            aload 0 /* this */
            aload 3 /* mappingData */
            invokevirtual org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.updatePaths:(Lorg/glassfish/grizzly/websockets/WebSocketMappingData;)V
         2: .line 143
            goto 4
         3: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getContextPath:()Ljava/lang/String;
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.contextPath:Ljava/lang/String;
         4: .line 147
      StackMap locals:
      StackMap stack:
            aload 3 /* mappingData */
            ifnull 7
            aload 3 /* mappingData */
            getfield org.glassfish.grizzly.websockets.WebSocketMappingData.isGlassfish:Z
            ifeq 7
         5: .line 148
            aload 0 /* this */
            new org.glassfish.grizzly.websockets.glassfish.GlassfishSupport
            dup
            aload 3 /* mappingData */
            getfield org.glassfish.grizzly.websockets.WebSocketMappingData.context:Ljava/lang/Object;
            aload 3 /* mappingData */
            getfield org.glassfish.grizzly.websockets.WebSocketMappingData.wrapper:Ljava/lang/Object;
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.websockets.glassfish.GlassfishSupport.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljakarta/servlet/http/HttpServletRequest;)V
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.glassfishSupport:Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
         6: .line 149
            goto 8
         7: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.glassfish.grizzly.websockets.glassfish.GlassfishSupport
            dup
            invokespecial org.glassfish.grizzly.websockets.glassfish.GlassfishSupport.<init>:()V
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.glassfishSupport:Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
         8: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* servletResponse */
            new org.glassfish.grizzly.servlet.WebappContext
            dup
            ldc "web-socket-ctx"
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.contextPath:Ljava/lang/String;
            invokespecial org.glassfish.grizzly.servlet.WebappContext.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokespecial org.glassfish.grizzly.servlet.HttpServletRequestImpl.initialize:(Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/servlet/HttpServletResponseImpl;Lorg/glassfish/grizzly/servlet/WebappContext;)V
         9: .line 154
            return
        end local 3 // org.glassfish.grizzly.websockets.WebSocketMappingData mappingData
        end local 2 // org.glassfish.grizzly.servlet.HttpServletResponseImpl servletResponse
        end local 1 // org.glassfish.grizzly.http.server.Request request
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;
            0   10     1          request  Lorg/glassfish/grizzly/http/server/Request;
            0   10     2  servletResponse  Lorg/glassfish/grizzly/servlet/HttpServletResponseImpl;
            0   10     3      mappingData  Lorg/glassfish/grizzly/websockets/WebSocketMappingData;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      request          final
      servletResponse  final
      mappingData      final

  public jakarta.servlet.ServletInputStream getInputStream();
    descriptor: ()Ljakarta/servlet/ServletInputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 158
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.usingReader:Z
            ifeq 2
         1: .line 159
            new java.lang.IllegalStateException
            dup
            ldc "Illegal attempt to call getInputStream() after getReader() has already been called."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.usingInputStream:Z
         3: .line 163
            getstatic org.glassfish.grizzly.websockets.Utils.NULL_SERVLET_INPUT_STREAM:Ljakarta/servlet/ServletInputStream;
            areturn
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;
    Exceptions:
      throws java.io.IOException

  public java.io.BufferedReader getReader();
    descriptor: ()Ljava/io/BufferedReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 168
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.usingInputStream:Z
            ifeq 2
         1: .line 169
            new java.lang.IllegalStateException
            dup
            ldc "Illegal attempt to call getReader() after getInputStream() has already been called."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.usingReader:Z
         3: .line 174
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.reader:Ljava/io/BufferedReader;
            ifnonnull 5
         4: .line 175
            aload 0 /* this */
            new java.io.BufferedReader
            dup
            getstatic org.glassfish.grizzly.websockets.Utils.NULL_READER:Ljava/io/Reader;
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.reader:Ljava/io/BufferedReader;
         5: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.reader:Ljava/io/BufferedReader;
            areturn
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;
    Exceptions:
      throws java.io.IOException

  public jakarta.servlet.http.HttpSession getSession(boolean);
    descriptor: (Z)Ljakarta/servlet/http/HttpSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
        start local 1 // boolean create
         0: .line 183
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.glassfishSupport:Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
            invokevirtual org.glassfish.grizzly.websockets.glassfish.GlassfishSupport.isValid:()Z
            ifeq 2
         1: .line 184
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.glassfishSupport:Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
            iload 1 /* create */
            invokevirtual org.glassfish.grizzly.websockets.glassfish.GlassfishSupport.getSession:(Z)Ljakarta/servlet/http/HttpSession;
            areturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* create */
            invokespecial org.glassfish.grizzly.servlet.HttpServletRequestImpl.getSession:(Z)Ljakarta/servlet/http/HttpSession;
            areturn
        end local 1 // boolean create
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;
            0    3     1  create  Z
    MethodParameters:
        Name  Flags
      create  

  public boolean isUserInRole(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
        start local 1 // java.lang.String role
         0: .line 192
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.glassfishSupport:Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
            invokevirtual org.glassfish.grizzly.websockets.glassfish.GlassfishSupport.isValid:()Z
            ifeq 2
         1: .line 193
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.glassfishSupport:Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
            aload 1 /* role */
            invokevirtual org.glassfish.grizzly.websockets.glassfish.GlassfishSupport.isUserInRole:(Ljava/lang/String;)Z
            ireturn
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* role */
            invokespecial org.glassfish.grizzly.servlet.HttpServletRequestImpl.isUserInRole:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String role
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;
            0    3     1  role  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      role  

  public java.security.Principal getUserPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 201
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.checkGlassfishAuth:()V
         1: .line 203
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.servlet.HttpServletRequestImpl.getUserPrincipal:()Ljava/security/Principal;
            areturn
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;

  public java.lang.String getRemoteUser();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 208
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.checkGlassfishAuth:()V
         1: .line 210
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.servlet.HttpServletRequestImpl.getRemoteUser:()Ljava/lang/String;
            areturn
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;

  public java.lang.String getAuthType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 215
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.checkGlassfishAuth:()V
         1: .line 217
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.servlet.HttpServletRequestImpl.getAuthType:()Ljava/lang/String;
            areturn
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;

  public java.lang.String getContextPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 222
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.contextPath:Ljava/lang/String;
            areturn
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;

  public java.lang.String getServletPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 227
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.servletPath:Ljava/lang/String;
            areturn
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;

  public java.lang.String getPathInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 232
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.pathInfo:Ljava/lang/String;
            areturn
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;

  private void updatePaths(org.glassfish.grizzly.websockets.WebSocketMappingData);
    descriptor: (Lorg/glassfish/grizzly/websockets/WebSocketMappingData;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
        start local 1 // org.glassfish.grizzly.websockets.WebSocketMappingData mappingData
         0: .line 237
            aload 0 /* this */
            aload 1 /* mappingData */
            getfield org.glassfish.grizzly.websockets.WebSocketMappingData.pathInfo:Lorg/glassfish/grizzly/http/util/DataChunk;
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:()Ljava/lang/String;
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.pathInfo:Ljava/lang/String;
         1: .line 238
            aload 0 /* this */
            aload 1 /* mappingData */
            getfield org.glassfish.grizzly.websockets.WebSocketMappingData.wrapperPath:Lorg/glassfish/grizzly/http/util/DataChunk;
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:()Ljava/lang/String;
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.servletPath:Ljava/lang/String;
         2: .line 239
            aload 0 /* this */
            aload 1 /* mappingData */
            getfield org.glassfish.grizzly.websockets.WebSocketMappingData.contextPath:Lorg/glassfish/grizzly/http/util/DataChunk;
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:()Ljava/lang/String;
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.contextPath:Ljava/lang/String;
         3: .line 240
            return
        end local 1 // org.glassfish.grizzly.websockets.WebSocketMappingData mappingData
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;
            0    4     1  mappingData  Lorg/glassfish/grizzly/websockets/WebSocketMappingData;
    MethodParameters:
             Name  Flags
      mappingData  final

  private void checkGlassfishAuth();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
         0: .line 243
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.glassfishSupport:Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
            invokevirtual org.glassfish.grizzly.websockets.glassfish.GlassfishSupport.isValid:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.isUserPrincipalUpdated:Z
            ifne 3
         1: .line 244
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.isUserPrincipalUpdated:Z
         2: .line 245
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.glassfishSupport:Lorg/glassfish/grizzly/websockets/glassfish/GlassfishSupport;
            aload 0 /* this */
            getfield org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl.request:Lorg/glassfish/grizzly/http/server/Request;
            invokevirtual org.glassfish.grizzly.websockets.glassfish.GlassfishSupport.updateUserPrincipal:(Lorg/glassfish/grizzly/http/server/Request;)V
         3: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/glassfish/grizzly/websockets/DefaultWebSocket$WSServletRequestImpl;
}
SourceFile: "DefaultWebSocket.java"
NestHost: org.glassfish.grizzly.websockets.DefaultWebSocket
InnerClasses:
  private WSServletRequestImpl = org.glassfish.grizzly.websockets.DefaultWebSocket$WSServletRequestImpl of org.glassfish.grizzly.websockets.DefaultWebSocket