class org.springframework.http.server.reactive.ServletServerHttpRequest extends org.springframework.http.server.reactive.AbstractServerHttpRequest
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.http.server.reactive.ServletServerHttpRequest
  super_class: org.springframework.http.server.reactive.AbstractServerHttpRequest
{
  static final org.springframework.core.io.buffer.DataBuffer EOF_BUFFER;
    descriptor: Lorg/springframework/core/io/buffer/DataBuffer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final javax.servlet.http.HttpServletRequest request;
    descriptor: Ljavax/servlet/http/HttpServletRequest;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.http.server.reactive.ServletServerHttpRequest$RequestBodyPublisher bodyPublisher;
    descriptor: Lorg/springframework/http/server/reactive/ServletServerHttpRequest$RequestBodyPublisher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object cookieLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.core.io.buffer.DataBufferFactory bufferFactory;
    descriptor: Lorg/springframework/core/io/buffer/DataBufferFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final byte[] buffer;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 59
            new org.springframework.core.io.buffer.DefaultDataBufferFactory
            dup
            invokespecial org.springframework.core.io.buffer.DefaultDataBufferFactory.<init>:()V
            iconst_0
            invokevirtual org.springframework.core.io.buffer.DefaultDataBufferFactory.allocateBuffer:(I)Lorg/springframework/core/io/buffer/DefaultDataBuffer;
            putstatic org.springframework.http.server.reactive.ServletServerHttpRequest.EOF_BUFFER:Lorg/springframework/core/io/buffer/DataBuffer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.servlet.http.HttpServletRequest, javax.servlet.AsyncContext, java.lang.String, org.springframework.core.io.buffer.DataBufferFactory, int);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/AsyncContext;Ljava/lang/String;Lorg/springframework/core/io/buffer/DataBufferFactory;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
        start local 1 // javax.servlet.http.HttpServletRequest request
        start local 2 // javax.servlet.AsyncContext asyncContext
        start local 3 // java.lang.String servletPath
        start local 4 // org.springframework.core.io.buffer.DataBufferFactory bufferFactory
        start local 5 // int bufferSize
         0: .line 76
            aload 0 /* this */
            aload 1 /* request */
            invokestatic org.springframework.http.server.reactive.ServletServerHttpRequest.createDefaultHttpHeaders:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/http/HttpHeaders;
            aload 1 /* request */
            aload 2 /* asyncContext */
            aload 3 /* servletPath */
            aload 4 /* bufferFactory */
            iload 5 /* bufferSize */
            invokespecial org.springframework.http.server.reactive.ServletServerHttpRequest.<init>:(Lorg/springframework/http/HttpHeaders;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/AsyncContext;Ljava/lang/String;Lorg/springframework/core/io/buffer/DataBufferFactory;I)V
         1: .line 77
            return
        end local 5 // int bufferSize
        end local 4 // org.springframework.core.io.buffer.DataBufferFactory bufferFactory
        end local 3 // java.lang.String servletPath
        end local 2 // javax.servlet.AsyncContext asyncContext
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
            0    2     1        request  Ljavax/servlet/http/HttpServletRequest;
            0    2     2   asyncContext  Ljavax/servlet/AsyncContext;
            0    2     3    servletPath  Ljava/lang/String;
            0    2     4  bufferFactory  Lorg/springframework/core/io/buffer/DataBufferFactory;
            0    2     5     bufferSize  I
    Exceptions:
      throws java.io.IOException, java.net.URISyntaxException
    MethodParameters:
               Name  Flags
      request        
      asyncContext   
      servletPath    
      bufferFactory  
      bufferSize     

  public void <init>(org.springframework.http.HttpHeaders, javax.servlet.http.HttpServletRequest, javax.servlet.AsyncContext, java.lang.String, org.springframework.core.io.buffer.DataBufferFactory, int);
    descriptor: (Lorg/springframework/http/HttpHeaders;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/AsyncContext;Ljava/lang/String;Lorg/springframework/core/io/buffer/DataBufferFactory;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
        start local 1 // org.springframework.http.HttpHeaders headers
        start local 2 // javax.servlet.http.HttpServletRequest request
        start local 3 // javax.servlet.AsyncContext asyncContext
        start local 4 // java.lang.String servletPath
        start local 5 // org.springframework.core.io.buffer.DataBufferFactory bufferFactory
        start local 6 // int bufferSize
         0: .line 83
            aload 0 /* this */
            aload 2 /* request */
            invokestatic org.springframework.http.server.reactive.ServletServerHttpRequest.initUri:(Ljavax/servlet/http/HttpServletRequest;)Ljava/net/URI;
            new java.lang.StringBuilder
            dup
            aload 2 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* servletPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* headers */
            aload 2 /* request */
            invokestatic org.springframework.http.server.reactive.ServletServerHttpRequest.initHeaders:(Lorg/springframework/http/HttpHeaders;Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/http/HttpHeaders;
            invokespecial org.springframework.http.server.reactive.AbstractServerHttpRequest.<init>:(Ljava/net/URI;Ljava/lang/String;Lorg/springframework/http/HttpHeaders;)V
         1: .line 66
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.springframework.http.server.reactive.ServletServerHttpRequest.cookieLock:Ljava/lang/Object;
         2: .line 85
            aload 5 /* bufferFactory */
            ldc "'bufferFactory' must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 86
            iload 6 /* bufferSize */
            ifle 4
            iconst_1
            goto 5
      StackMap locals: org.springframework.http.server.reactive.ServletServerHttpRequest org.springframework.http.HttpHeaders javax.servlet.http.HttpServletRequest javax.servlet.AsyncContext java.lang.String org.springframework.core.io.buffer.DataBufferFactory int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: ldc "'bufferSize' must be higher than 0"
            invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
         6: .line 88
            aload 0 /* this */
            aload 2 /* request */
            putfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
         7: .line 89
            aload 0 /* this */
            aload 5 /* bufferFactory */
            putfield org.springframework.http.server.reactive.ServletServerHttpRequest.bufferFactory:Lorg/springframework/core/io/buffer/DataBufferFactory;
         8: .line 90
            aload 0 /* this */
            iload 6 /* bufferSize */
            newarray 8
            putfield org.springframework.http.server.reactive.ServletServerHttpRequest.buffer:[B
         9: .line 92
            aload 3 /* asyncContext */
            new org.springframework.http.server.reactive.ServletServerHttpRequest$RequestAsyncListener
            dup
            aload 0 /* this */
            invokespecial org.springframework.http.server.reactive.ServletServerHttpRequest$RequestAsyncListener.<init>:(Lorg/springframework/http/server/reactive/ServletServerHttpRequest;)V
            invokeinterface javax.servlet.AsyncContext.addListener:(Ljavax/servlet/AsyncListener;)V
        10: .line 95
            aload 2 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getInputStream:()Ljavax/servlet/ServletInputStream;
            astore 7 /* inputStream */
        start local 7 // javax.servlet.ServletInputStream inputStream
        11: .line 96
            aload 0 /* this */
            new org.springframework.http.server.reactive.ServletServerHttpRequest$RequestBodyPublisher
            dup
            aload 0 /* this */
            aload 7 /* inputStream */
            invokespecial org.springframework.http.server.reactive.ServletServerHttpRequest$RequestBodyPublisher.<init>:(Lorg/springframework/http/server/reactive/ServletServerHttpRequest;Ljavax/servlet/ServletInputStream;)V
            putfield org.springframework.http.server.reactive.ServletServerHttpRequest.bodyPublisher:Lorg/springframework/http/server/reactive/ServletServerHttpRequest$RequestBodyPublisher;
        12: .line 97
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.bodyPublisher:Lorg/springframework/http/server/reactive/ServletServerHttpRequest$RequestBodyPublisher;
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpRequest$RequestBodyPublisher.registerReadListener:()V
        13: .line 98
            return
        end local 7 // javax.servlet.ServletInputStream inputStream
        end local 6 // int bufferSize
        end local 5 // org.springframework.core.io.buffer.DataBufferFactory bufferFactory
        end local 4 // java.lang.String servletPath
        end local 3 // javax.servlet.AsyncContext asyncContext
        end local 2 // javax.servlet.http.HttpServletRequest request
        end local 1 // org.springframework.http.HttpHeaders headers
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
            0   14     1        headers  Lorg/springframework/http/HttpHeaders;
            0   14     2        request  Ljavax/servlet/http/HttpServletRequest;
            0   14     3   asyncContext  Ljavax/servlet/AsyncContext;
            0   14     4    servletPath  Ljava/lang/String;
            0   14     5  bufferFactory  Lorg/springframework/core/io/buffer/DataBufferFactory;
            0   14     6     bufferSize  I
           11   14     7    inputStream  Ljavax/servlet/ServletInputStream;
    Exceptions:
      throws java.io.IOException, java.net.URISyntaxException
    MethodParameters:
               Name  Flags
      headers        
      request        
      asyncContext   
      servletPath    
      bufferFactory  
      bufferSize     

  private static org.springframework.http.HttpHeaders createDefaultHttpHeaders(javax.servlet.http.HttpServletRequest);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/http/HttpHeaders;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // javax.servlet.http.HttpServletRequest request
         0: .line 102
            new org.springframework.http.HttpHeaders
            dup
            invokespecial org.springframework.http.HttpHeaders.<init>:()V
            astore 1 /* headers */
        start local 1 // org.springframework.http.HttpHeaders headers
         1: .line 103
            aload 0 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getHeaderNames:()Ljava/util/Enumeration;
            astore 2 /* names */
        start local 2 // java.util.Enumeration names
         2: goto 8
         3: .line 104
      StackMap locals: org.springframework.http.HttpHeaders java.util.Enumeration
      StackMap stack:
            aload 2 /* names */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 105
            aload 0 /* request */
            aload 3 /* name */
            invokeinterface javax.servlet.http.HttpServletRequest.getHeaders:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 4 /* values */
        start local 4 // java.util.Enumeration values
         5: goto 7
         6: .line 106
      StackMap locals: java.lang.String java.util.Enumeration
      StackMap stack:
            aload 1 /* headers */
            aload 3 /* name */
            aload 4 /* values */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.springframework.http.HttpHeaders.add:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 105
      StackMap locals:
      StackMap stack:
            aload 4 /* values */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        end local 4 // java.util.Enumeration values
        end local 3 // java.lang.String name
         8: .line 103
      StackMap locals:
      StackMap stack:
            aload 2 /* names */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        end local 2 // java.util.Enumeration names
         9: .line 109
            aload 1 /* headers */
            areturn
        end local 1 // org.springframework.http.HttpHeaders headers
        end local 0 // javax.servlet.http.HttpServletRequest request
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  request  Ljavax/servlet/http/HttpServletRequest;
            1   10     1  headers  Lorg/springframework/http/HttpHeaders;
            2    9     2    names  Ljava/util/Enumeration<*>;
            4    8     3     name  Ljava/lang/String;
            5    8     4   values  Ljava/util/Enumeration<*>;
    MethodParameters:
         Name  Flags
      request  

  private static java.net.URI initUri(javax.servlet.http.HttpServletRequest);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;)Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javax.servlet.http.HttpServletRequest request
         0: .line 113
            aload 0 /* request */
            ldc "'request' must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 114
            aload 0 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getRequestURL:()Ljava/lang/StringBuffer;
            astore 1 /* url */
        start local 1 // java.lang.StringBuffer url
         2: .line 115
            aload 0 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
            astore 2 /* query */
        start local 2 // java.lang.String query
         3: .line 116
            aload 2 /* query */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 117
            aload 1 /* url */
            bipush 63
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 2 /* query */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 119
      StackMap locals: java.lang.StringBuffer java.lang.String
      StackMap stack:
            new java.net.URI
            dup
            aload 1 /* url */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String query
        end local 1 // java.lang.StringBuffer url
        end local 0 // javax.servlet.http.HttpServletRequest request
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  request  Ljavax/servlet/http/HttpServletRequest;
            2    6     1      url  Ljava/lang/StringBuffer;
            3    6     2    query  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
         Name  Flags
      request  

  private static org.springframework.http.HttpHeaders initHeaders(org.springframework.http.HttpHeaders, javax.servlet.http.HttpServletRequest);
    descriptor: (Lorg/springframework/http/HttpHeaders;Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/http/HttpHeaders;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.springframework.http.HttpHeaders headers
        start local 1 // javax.servlet.http.HttpServletRequest request
         0: .line 123
            aload 0 /* headers */
            invokevirtual org.springframework.http.HttpHeaders.getContentType:()Lorg/springframework/http/MediaType;
            astore 2 /* contentType */
        start local 2 // org.springframework.http.MediaType contentType
         1: .line 124
            aload 2 /* contentType */
            ifnonnull 6
         2: .line 125
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getContentType:()Ljava/lang/String;
            astore 3 /* requestContentType */
        start local 3 // java.lang.String requestContentType
         3: .line 126
            aload 3 /* requestContentType */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 127
            aload 3 /* requestContentType */
            invokestatic org.springframework.http.MediaType.parseMediaType:(Ljava/lang/String;)Lorg/springframework/http/MediaType;
            astore 2 /* contentType */
         5: .line 128
            aload 0 /* headers */
            aload 2 /* contentType */
            invokevirtual org.springframework.http.HttpHeaders.setContentType:(Lorg/springframework/http/MediaType;)V
        end local 3 // java.lang.String requestContentType
         6: .line 131
      StackMap locals: org.springframework.http.MediaType
      StackMap stack:
            aload 2 /* contentType */
            ifnull 18
            aload 2 /* contentType */
            invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
            ifnonnull 18
         7: .line 132
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getCharacterEncoding:()Ljava/lang/String;
            astore 3 /* encoding */
        start local 3 // java.lang.String encoding
         8: .line 133
            aload 3 /* encoding */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 18
         9: .line 134
            aload 3 /* encoding */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 4 /* charset */
        start local 4 // java.nio.charset.Charset charset
        10: .line 135
            new org.springframework.util.LinkedCaseInsensitiveMap
            dup
            invokespecial org.springframework.util.LinkedCaseInsensitiveMap.<init>:()V
            astore 5 /* params */
        start local 5 // java.util.Map params
        11: .line 136
            aload 5 /* params */
            aload 2 /* contentType */
            invokevirtual org.springframework.http.MediaType.getParameters:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        12: .line 137
            aload 5 /* params */
            ldc "charset"
            aload 4 /* charset */
            invokevirtual java.nio.charset.Charset.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 138
            aload 0 /* headers */
        14: .line 139
            new org.springframework.http.MediaType
            dup
            aload 2 /* contentType */
            invokevirtual org.springframework.http.MediaType.getType:()Ljava/lang/String;
            aload 2 /* contentType */
            invokevirtual org.springframework.http.MediaType.getSubtype:()Ljava/lang/String;
        15: .line 140
            aload 5 /* params */
        16: .line 139
            invokespecial org.springframework.http.MediaType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
        17: .line 138
            invokevirtual org.springframework.http.HttpHeaders.setContentType:(Lorg/springframework/http/MediaType;)V
        end local 5 // java.util.Map params
        end local 4 // java.nio.charset.Charset charset
        end local 3 // java.lang.String encoding
        18: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* headers */
            invokevirtual org.springframework.http.HttpHeaders.getContentLength:()J
            ldc -1
            lcmp
            ifne 22
        19: .line 144
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getContentLength:()I
            istore 3 /* contentLength */
        start local 3 // int contentLength
        20: .line 145
            iload 3 /* contentLength */
            iconst_m1
            if_icmpeq 22
        21: .line 146
            aload 0 /* headers */
            iload 3 /* contentLength */
            i2l
            invokevirtual org.springframework.http.HttpHeaders.setContentLength:(J)V
        end local 3 // int contentLength
        22: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* headers */
            areturn
        end local 2 // org.springframework.http.MediaType contentType
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.springframework.http.HttpHeaders headers
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0             headers  Lorg/springframework/http/HttpHeaders;
            0   23     1             request  Ljavax/servlet/http/HttpServletRequest;
            1   23     2         contentType  Lorg/springframework/http/MediaType;
            3    6     3  requestContentType  Ljava/lang/String;
            8   18     3            encoding  Ljava/lang/String;
           10   18     4             charset  Ljava/nio/charset/Charset;
           11   18     5              params  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           20   22     3       contentLength  I
    MethodParameters:
         Name  Flags
      headers  
      request  

  public java.lang.String getMethodValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 155
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;

  protected org.springframework.util.MultiValueMap<java.lang.String, org.springframework.http.HttpCookie> initCookies();
    descriptor: ()Lorg/springframework/util/MultiValueMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 160
            new org.springframework.util.LinkedMultiValueMap
            dup
            invokespecial org.springframework.util.LinkedMultiValueMap.<init>:()V
            astore 1 /* httpCookies */
        start local 1 // org.springframework.util.MultiValueMap httpCookies
         1: .line 162
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.cookieLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         2: .line 163
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getCookies:()[Ljavax/servlet/http/Cookie;
            astore 2 /* cookies */
        start local 2 // javax.servlet.http.Cookie[] cookies
         3: .line 162
            aload 3
            monitorexit
         4: goto 7
        end local 2 // javax.servlet.http.Cookie[] cookies
      StackMap locals: org.springframework.http.server.reactive.ServletServerHttpRequest org.springframework.util.MultiValueMap top java.lang.Object
      StackMap stack: java.lang.Throwable
         5: aload 3
            monitorexit
         6: athrow
        start local 2 // javax.servlet.http.Cookie[] cookies
         7: .line 165
      StackMap locals: org.springframework.http.server.reactive.ServletServerHttpRequest org.springframework.util.MultiValueMap javax.servlet.http.Cookie[]
      StackMap stack:
            aload 2 /* cookies */
            ifnull 15
         8: .line 166
            aload 2 /* cookies */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 14
      StackMap locals: org.springframework.http.server.reactive.ServletServerHttpRequest org.springframework.util.MultiValueMap javax.servlet.http.Cookie[] top int int javax.servlet.http.Cookie[]
      StackMap stack:
         9: aload 6
            iload 4
            aaload
            astore 3 /* cookie */
        start local 3 // javax.servlet.http.Cookie cookie
        10: .line 167
            aload 3 /* cookie */
            invokevirtual javax.servlet.http.Cookie.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        11: .line 168
            new org.springframework.http.HttpCookie
            dup
            aload 7 /* name */
            aload 3 /* cookie */
            invokevirtual javax.servlet.http.Cookie.getValue:()Ljava/lang/String;
            invokespecial org.springframework.http.HttpCookie.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 8 /* httpCookie */
        start local 8 // org.springframework.http.HttpCookie httpCookie
        12: .line 169
            aload 1 /* httpCookies */
            aload 7 /* name */
            aload 8 /* httpCookie */
            invokeinterface org.springframework.util.MultiValueMap.add:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // org.springframework.http.HttpCookie httpCookie
        end local 7 // java.lang.String name
        end local 3 // javax.servlet.http.Cookie cookie
        13: .line 166
            iinc 4 1
      StackMap locals:
      StackMap stack:
        14: iload 4
            iload 5
            if_icmplt 9
        15: .line 172
      StackMap locals: org.springframework.http.server.reactive.ServletServerHttpRequest org.springframework.util.MultiValueMap javax.servlet.http.Cookie[]
      StackMap stack:
            aload 1 /* httpCookies */
            areturn
        end local 2 // javax.servlet.http.Cookie[] cookies
        end local 1 // org.springframework.util.MultiValueMap httpCookies
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
            1   16     1  httpCookies  Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Lorg/springframework/http/HttpCookie;>;
            3    5     2      cookies  [Ljavax/servlet/http/Cookie;
            7   16     2      cookies  [Ljavax/servlet/http/Cookie;
           10   13     3       cookie  Ljavax/servlet/http/Cookie;
           11   13     7         name  Ljava/lang/String;
           12   13     8   httpCookie  Lorg/springframework/http/HttpCookie;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
    Signature: ()Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Lorg/springframework/http/HttpCookie;>;

  public java.net.InetSocketAddress getRemoteAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 177
            new java.net.InetSocketAddress
            dup
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getRemoteHost:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getRemotePort:()I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
            areturn
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;

  protected org.springframework.http.server.reactive.SslInfo initSslInfo();
    descriptor: ()Lorg/springframework/http/server/reactive/SslInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 182
            aload 0 /* this */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpRequest.getX509Certificates:()[Ljava/security/cert/X509Certificate;
            astore 1 /* certificates */
        start local 1 // java.security.cert.X509Certificate[] certificates
         1: .line 183
            aload 1 /* certificates */
            ifnull 2
            new org.springframework.http.server.reactive.DefaultSslInfo
            dup
            aload 0 /* this */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpRequest.getSslSessionId:()Ljava/lang/String;
            aload 1 /* certificates */
            invokespecial org.springframework.http.server.reactive.DefaultSslInfo.<init>:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
            goto 3
      StackMap locals: java.security.cert.X509Certificate[]
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: org.springframework.http.server.reactive.DefaultSslInfo
         3: areturn
        end local 1 // java.security.cert.X509Certificate[] certificates
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
            1    4     1  certificates  [Ljava/security/cert/X509Certificate;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.lang.String getSslSessionId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 188
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
            ldc "javax.servlet.request.ssl_session_id"
            invokeinterface javax.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.security.cert.X509Certificate[] getX509Certificates();
    descriptor: ()[Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 193
            ldc "javax.servlet.request.X509Certificate"
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 194
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
            aload 1 /* name */
            invokeinterface javax.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate[]
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
            1    2     1  name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> getBody();
    descriptor: ()Lreactor/core/publisher/Flux;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 199
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.bodyPublisher:Lorg/springframework/http/server/reactive/ServletServerHttpRequest$RequestBodyPublisher;
            invokestatic reactor.core.publisher.Flux.from:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Flux;
            areturn
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
    Signature: ()Lreactor/core/publisher/Flux<Lorg/springframework/core/io/buffer/DataBuffer;>;

  org.springframework.core.io.buffer.DataBuffer readFromInputStream();
    descriptor: ()Lorg/springframework/core/io/buffer/DataBuffer;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 210
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getInputStream:()Ljavax/servlet/ServletInputStream;
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.buffer:[B
            invokevirtual javax.servlet.ServletInputStream.read:([B)I
            istore 1 /* read */
        start local 1 // int read
         1: .line 211
            aload 0 /* this */
            iload 1 /* read */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpRequest.logBytesRead:(I)V
         2: .line 213
            iload 1 /* read */
            ifle 6
         3: .line 214
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.bufferFactory:Lorg/springframework/core/io/buffer/DataBufferFactory;
            iload 1 /* read */
            invokeinterface org.springframework.core.io.buffer.DataBufferFactory.allocateBuffer:(I)Lorg/springframework/core/io/buffer/DataBuffer;
            astore 2 /* dataBuffer */
        start local 2 // org.springframework.core.io.buffer.DataBuffer dataBuffer
         4: .line 215
            aload 2 /* dataBuffer */
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.buffer:[B
            iconst_0
            iload 1 /* read */
            invokeinterface org.springframework.core.io.buffer.DataBuffer.write:([BII)Lorg/springframework/core/io/buffer/DataBuffer;
            pop
         5: .line 216
            aload 2 /* dataBuffer */
            areturn
        end local 2 // org.springframework.core.io.buffer.DataBuffer dataBuffer
         6: .line 219
      StackMap locals: int
      StackMap stack:
            iload 1 /* read */
            iconst_m1
            if_icmpne 8
         7: .line 220
            getstatic org.springframework.http.server.reactive.ServletServerHttpRequest.EOF_BUFFER:Lorg/springframework/core/io/buffer/DataBuffer;
            areturn
         8: .line 223
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int read
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
            1    9     1        read  I
            4    6     2  dataBuffer  Lorg/springframework/core/io/buffer/DataBuffer;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  protected final void logBytesRead(int);
    descriptor: (I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
        start local 1 // int read
         0: .line 227
            getstatic org.springframework.http.server.reactive.AbstractListenerReadPublisher.rsReadLogger:Lorg/apache/commons/logging/Log;
            astore 2 /* rsReadLogger */
        start local 2 // org.apache.commons.logging.Log rsReadLogger
         1: .line 228
            aload 2 /* rsReadLogger */
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 5
         2: .line 229
            aload 2 /* rsReadLogger */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpRequest.getLogPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Read "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* read */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            iload 1 /* read */
            iconst_m1
            if_icmpeq 3
            ldc " bytes"
            goto 4
      StackMap locals: org.springframework.http.server.reactive.ServletServerHttpRequest int org.apache.commons.logging.Log
      StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder
         3: ldc ""
      StackMap locals: org.springframework.http.server.reactive.ServletServerHttpRequest int org.apache.commons.logging.Log
      StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder java.lang.String
         4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         5: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.commons.logging.Log rsReadLogger
        end local 1 // int read
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
            0    6     1          read  I
            1    6     2  rsReadLogger  Lorg/apache/commons/logging/Log;
    MethodParameters:
      Name  Flags
      read  

  public <T> T getNativeRequest();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
         0: .line 236
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpRequest.request:Ljavax/servlet/http/HttpServletRequest;
            areturn
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
    Signature: <T:Ljava/lang/Object;>()TT;
}
SourceFile: "ServletServerHttpRequest.java"
NestMembers:
  org.springframework.http.server.reactive.ServletServerHttpRequest$RequestAsyncListener  org.springframework.http.server.reactive.ServletServerHttpRequest$RequestBodyPublisher  org.springframework.http.server.reactive.ServletServerHttpRequest$RequestBodyPublisher$RequestBodyPublisherReadListener
InnerClasses:
  private final RequestAsyncListener = org.springframework.http.server.reactive.ServletServerHttpRequest$RequestAsyncListener of org.springframework.http.server.reactive.ServletServerHttpRequest
  private RequestBodyPublisher = org.springframework.http.server.reactive.ServletServerHttpRequest$RequestBodyPublisher of org.springframework.http.server.reactive.ServletServerHttpRequest