public class org.springframework.web.cors.DefaultCorsProcessor implements org.springframework.web.cors.CorsProcessor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.web.cors.DefaultCorsProcessor
  super_class: java.lang.Object
{
  private static final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    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 57
            ldc Lorg/springframework/web/cors/DefaultCorsProcessor;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.springframework.web.cors.DefaultCorsProcessor.logger:Lorg/apache/commons/logging/Log;
            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.springframework.web.cors.DefaultCorsProcessor this
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/cors/DefaultCorsProcessor;

  public boolean processRequest(org.springframework.web.cors.CorsConfiguration, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse);
    descriptor: (Lorg/springframework/web/cors/CorsConfiguration;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.web.cors.CorsConfiguration config
        start local 2 // javax.servlet.http.HttpServletRequest request
        start local 3 // javax.servlet.http.HttpServletResponse response
         0: .line 65
            aload 2 /* request */
            invokestatic org.springframework.web.cors.CorsUtils.isCorsRequest:(Ljavax/servlet/http/HttpServletRequest;)Z
            ifne 2
         1: .line 66
            iconst_1
            ireturn
         2: .line 69
      StackMap locals:
      StackMap stack:
            new org.springframework.http.server.ServletServerHttpResponse
            dup
            aload 3 /* response */
            invokespecial org.springframework.http.server.ServletServerHttpResponse.<init>:(Ljavax/servlet/http/HttpServletResponse;)V
            astore 4 /* serverResponse */
        start local 4 // org.springframework.http.server.ServletServerHttpResponse serverResponse
         3: .line 70
            aload 0 /* this */
            aload 4 /* serverResponse */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.responseHasCors:(Lorg/springframework/http/server/ServerHttpResponse;)Z
            ifeq 6
         4: .line 71
            getstatic org.springframework.web.cors.DefaultCorsProcessor.logger:Lorg/apache/commons/logging/Log;
            ldc "Skip: response already contains \"Access-Control-Allow-Origin\""
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         5: .line 72
            iconst_1
            ireturn
         6: .line 75
      StackMap locals: org.springframework.http.server.ServletServerHttpResponse
      StackMap stack:
            new org.springframework.http.server.ServletServerHttpRequest
            dup
            aload 2 /* request */
            invokespecial org.springframework.http.server.ServletServerHttpRequest.<init>:(Ljavax/servlet/http/HttpServletRequest;)V
            astore 5 /* serverRequest */
        start local 5 // org.springframework.http.server.ServletServerHttpRequest serverRequest
         7: .line 76
            aload 5 /* serverRequest */
            invokestatic org.springframework.web.util.WebUtils.isSameOrigin:(Lorg/springframework/http/HttpRequest;)Z
            ifeq 10
         8: .line 77
            getstatic org.springframework.web.cors.DefaultCorsProcessor.logger:Lorg/apache/commons/logging/Log;
            ldc "Skip: request is from same origin"
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         9: .line 78
            iconst_1
            ireturn
        10: .line 81
      StackMap locals: org.springframework.http.server.ServletServerHttpRequest
      StackMap stack:
            aload 2 /* request */
            invokestatic org.springframework.web.cors.CorsUtils.isPreFlightRequest:(Ljavax/servlet/http/HttpServletRequest;)Z
            istore 6 /* preFlightRequest */
        start local 6 // boolean preFlightRequest
        11: .line 82
            aload 1 /* config */
            ifnonnull 16
        12: .line 83
            iload 6 /* preFlightRequest */
            ifeq 15
        13: .line 84
            aload 0 /* this */
            aload 4 /* serverResponse */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.rejectRequest:(Lorg/springframework/http/server/ServerHttpResponse;)V
        14: .line 85
            iconst_0
            ireturn
        15: .line 88
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
        16: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* serverRequest */
            aload 4 /* serverResponse */
            aload 1 /* config */
            iload 6 /* preFlightRequest */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.handleInternal:(Lorg/springframework/http/server/ServerHttpRequest;Lorg/springframework/http/server/ServerHttpResponse;Lorg/springframework/web/cors/CorsConfiguration;Z)Z
            ireturn
        end local 6 // boolean preFlightRequest
        end local 5 // org.springframework.http.server.ServletServerHttpRequest serverRequest
        end local 4 // org.springframework.http.server.ServletServerHttpResponse serverResponse
        end local 3 // javax.servlet.http.HttpServletResponse response
        end local 2 // javax.servlet.http.HttpServletRequest request
        end local 1 // org.springframework.web.cors.CorsConfiguration config
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0   17     1            config  Lorg/springframework/web/cors/CorsConfiguration;
            0   17     2           request  Ljavax/servlet/http/HttpServletRequest;
            0   17     3          response  Ljavax/servlet/http/HttpServletResponse;
            3   17     4    serverResponse  Lorg/springframework/http/server/ServletServerHttpResponse;
            7   17     5     serverRequest  Lorg/springframework/http/server/ServletServerHttpRequest;
           11   17     6  preFlightRequest  Z
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
      2:
    MethodParameters:
          Name  Flags
      config    
      request   
      response  

  private boolean responseHasCors(org.springframework.http.server.ServerHttpResponse);
    descriptor: (Lorg/springframework/http/server/ServerHttpResponse;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.http.server.ServerHttpResponse response
         0: .line 97
            aload 1 /* response */
            invokeinterface org.springframework.http.server.ServerHttpResponse.getHeaders:()Lorg/springframework/http/HttpHeaders;
            invokevirtual org.springframework.http.HttpHeaders.getAccessControlAllowOrigin:()Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: ireturn
         3: .line 99
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
            pop
         4: .line 101
            iconst_0
            ireturn
        end local 1 // org.springframework.http.server.ServerHttpResponse response
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0    5     1  response  Lorg/springframework/http/server/ServerHttpResponse;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NullPointerException
    MethodParameters:
          Name  Flags
      response  

  protected void rejectRequest(org.springframework.http.server.ServerHttpResponse);
    descriptor: (Lorg/springframework/http/server/ServerHttpResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.http.server.ServerHttpResponse response
         0: .line 111
            aload 1 /* response */
            getstatic org.springframework.http.HttpStatus.FORBIDDEN:Lorg/springframework/http/HttpStatus;
            invokeinterface org.springframework.http.server.ServerHttpResponse.setStatusCode:(Lorg/springframework/http/HttpStatus;)V
         1: .line 112
            aload 1 /* response */
            invokeinterface org.springframework.http.server.ServerHttpResponse.getBody:()Ljava/io/OutputStream;
            ldc "Invalid CORS request"
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokevirtual java.io.OutputStream.write:([B)V
         2: .line 113
            return
        end local 1 // org.springframework.http.server.ServerHttpResponse response
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0    3     1  response  Lorg/springframework/http/server/ServerHttpResponse;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      response  

  protected boolean handleInternal(org.springframework.http.server.ServerHttpRequest, org.springframework.http.server.ServerHttpResponse, org.springframework.web.cors.CorsConfiguration, boolean);
    descriptor: (Lorg/springframework/http/server/ServerHttpRequest;Lorg/springframework/http/server/ServerHttpResponse;Lorg/springframework/web/cors/CorsConfiguration;Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.http.server.ServerHttpRequest request
        start local 2 // org.springframework.http.server.ServerHttpResponse response
        start local 3 // org.springframework.web.cors.CorsConfiguration config
        start local 4 // boolean preFlightRequest
         0: .line 121
            aload 1 /* request */
            invokeinterface org.springframework.http.server.ServerHttpRequest.getHeaders:()Lorg/springframework/http/HttpHeaders;
            invokevirtual org.springframework.http.HttpHeaders.getOrigin:()Ljava/lang/String;
            astore 5 /* requestOrigin */
        start local 5 // java.lang.String requestOrigin
         1: .line 122
            aload 0 /* this */
            aload 3 /* config */
            aload 5 /* requestOrigin */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.checkOrigin:(Lorg/springframework/web/cors/CorsConfiguration;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* allowOrigin */
        start local 6 // java.lang.String allowOrigin
         2: .line 123
            aload 2 /* response */
            invokeinterface org.springframework.http.server.ServerHttpResponse.getHeaders:()Lorg/springframework/http/HttpHeaders;
            astore 7 /* responseHeaders */
        start local 7 // org.springframework.http.HttpHeaders responseHeaders
         3: .line 125
            aload 7 /* responseHeaders */
            ldc "Vary"
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "Origin"
            aastore
            dup
            iconst_1
         4: .line 126
            ldc "Access-Control-Request-Method"
            aastore
            dup
            iconst_2
            ldc "Access-Control-Request-Headers"
            aastore
         5: .line 125
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.springframework.http.HttpHeaders.addAll:(Ljava/lang/String;Ljava/util/List;)V
         6: .line 128
            aload 6 /* allowOrigin */
            ifnonnull 10
         7: .line 129
            getstatic org.springframework.web.cors.DefaultCorsProcessor.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Reject: '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* requestOrigin */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' origin is not allowed"
            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.debug:(Ljava/lang/Object;)V
         8: .line 130
            aload 0 /* this */
            aload 2 /* response */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.rejectRequest:(Lorg/springframework/http/server/ServerHttpResponse;)V
         9: .line 131
            iconst_0
            ireturn
        10: .line 134
      StackMap locals: java.lang.String java.lang.String org.springframework.http.HttpHeaders
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            iload 4 /* preFlightRequest */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.getMethodToUse:(Lorg/springframework/http/server/ServerHttpRequest;Z)Lorg/springframework/http/HttpMethod;
            astore 8 /* requestMethod */
        start local 8 // org.springframework.http.HttpMethod requestMethod
        11: .line 135
            aload 0 /* this */
            aload 3 /* config */
            aload 8 /* requestMethod */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.checkMethods:(Lorg/springframework/web/cors/CorsConfiguration;Lorg/springframework/http/HttpMethod;)Ljava/util/List;
            astore 9 /* allowMethods */
        start local 9 // java.util.List allowMethods
        12: .line 136
            aload 9 /* allowMethods */
            ifnonnull 16
        13: .line 137
            getstatic org.springframework.web.cors.DefaultCorsProcessor.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Reject: HTTP '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* requestMethod */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' is not allowed"
            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.debug:(Ljava/lang/Object;)V
        14: .line 138
            aload 0 /* this */
            aload 2 /* response */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.rejectRequest:(Lorg/springframework/http/server/ServerHttpResponse;)V
        15: .line 139
            iconst_0
            ireturn
        16: .line 142
      StackMap locals: org.springframework.http.HttpMethod java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            iload 4 /* preFlightRequest */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.getHeadersToUse:(Lorg/springframework/http/server/ServerHttpRequest;Z)Ljava/util/List;
            astore 10 /* requestHeaders */
        start local 10 // java.util.List requestHeaders
        17: .line 143
            aload 0 /* this */
            aload 3 /* config */
            aload 10 /* requestHeaders */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.checkHeaders:(Lorg/springframework/web/cors/CorsConfiguration;Ljava/util/List;)Ljava/util/List;
            astore 11 /* allowHeaders */
        start local 11 // java.util.List allowHeaders
        18: .line 144
            iload 4 /* preFlightRequest */
            ifeq 22
            aload 11 /* allowHeaders */
            ifnonnull 22
        19: .line 145
            getstatic org.springframework.web.cors.DefaultCorsProcessor.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Reject: headers '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* requestHeaders */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' are not allowed"
            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.debug:(Ljava/lang/Object;)V
        20: .line 146
            aload 0 /* this */
            aload 2 /* response */
            invokevirtual org.springframework.web.cors.DefaultCorsProcessor.rejectRequest:(Lorg/springframework/http/server/ServerHttpResponse;)V
        21: .line 147
            iconst_0
            ireturn
        22: .line 150
      StackMap locals: java.util.List java.util.List
      StackMap stack:
            aload 7 /* responseHeaders */
            aload 6 /* allowOrigin */
            invokevirtual org.springframework.http.HttpHeaders.setAccessControlAllowOrigin:(Ljava/lang/String;)V
        23: .line 152
            iload 4 /* preFlightRequest */
            ifeq 25
        24: .line 153
            aload 7 /* responseHeaders */
            aload 9 /* allowMethods */
            invokevirtual org.springframework.http.HttpHeaders.setAccessControlAllowMethods:(Ljava/util/List;)V
        25: .line 156
      StackMap locals:
      StackMap stack:
            iload 4 /* preFlightRequest */
            ifeq 27
            aload 11 /* allowHeaders */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 27
        26: .line 157
            aload 7 /* responseHeaders */
            aload 11 /* allowHeaders */
            invokevirtual org.springframework.http.HttpHeaders.setAccessControlAllowHeaders:(Ljava/util/List;)V
        27: .line 160
      StackMap locals:
      StackMap stack:
            aload 3 /* config */
            invokevirtual org.springframework.web.cors.CorsConfiguration.getExposedHeaders:()Ljava/util/List;
            invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifne 29
        28: .line 161
            aload 7 /* responseHeaders */
            aload 3 /* config */
            invokevirtual org.springframework.web.cors.CorsConfiguration.getExposedHeaders:()Ljava/util/List;
            invokevirtual org.springframework.http.HttpHeaders.setAccessControlExposeHeaders:(Ljava/util/List;)V
        29: .line 164
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 3 /* config */
            invokevirtual org.springframework.web.cors.CorsConfiguration.getAllowCredentials:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 31
        30: .line 165
            aload 7 /* responseHeaders */
            iconst_1
            invokevirtual org.springframework.http.HttpHeaders.setAccessControlAllowCredentials:(Z)V
        31: .line 168
      StackMap locals:
      StackMap stack:
            iload 4 /* preFlightRequest */
            ifeq 33
            aload 3 /* config */
            invokevirtual org.springframework.web.cors.CorsConfiguration.getMaxAge:()Ljava/lang/Long;
            ifnull 33
        32: .line 169
            aload 7 /* responseHeaders */
            aload 3 /* config */
            invokevirtual org.springframework.web.cors.CorsConfiguration.getMaxAge:()Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual org.springframework.http.HttpHeaders.setAccessControlMaxAge:(J)V
        33: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            invokeinterface org.springframework.http.server.ServerHttpResponse.flush:()V
        34: .line 173
            iconst_1
            ireturn
        end local 11 // java.util.List allowHeaders
        end local 10 // java.util.List requestHeaders
        end local 9 // java.util.List allowMethods
        end local 8 // org.springframework.http.HttpMethod requestMethod
        end local 7 // org.springframework.http.HttpHeaders responseHeaders
        end local 6 // java.lang.String allowOrigin
        end local 5 // java.lang.String requestOrigin
        end local 4 // boolean preFlightRequest
        end local 3 // org.springframework.web.cors.CorsConfiguration config
        end local 2 // org.springframework.http.server.ServerHttpResponse response
        end local 1 // org.springframework.http.server.ServerHttpRequest request
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   35     0              this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0   35     1           request  Lorg/springframework/http/server/ServerHttpRequest;
            0   35     2          response  Lorg/springframework/http/server/ServerHttpResponse;
            0   35     3            config  Lorg/springframework/web/cors/CorsConfiguration;
            0   35     4  preFlightRequest  Z
            1   35     5     requestOrigin  Ljava/lang/String;
            2   35     6       allowOrigin  Ljava/lang/String;
            3   35     7   responseHeaders  Lorg/springframework/http/HttpHeaders;
           11   35     8     requestMethod  Lorg/springframework/http/HttpMethod;
           12   35     9      allowMethods  Ljava/util/List<Lorg/springframework/http/HttpMethod;>;
           17   35    10    requestHeaders  Ljava/util/List<Ljava/lang/String;>;
           18   35    11      allowHeaders  Ljava/util/List<Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      request           
      response          
      config            
      preFlightRequest  

  protected java.lang.String checkOrigin(org.springframework.web.cors.CorsConfiguration, java.lang.String);
    descriptor: (Lorg/springframework/web/cors/CorsConfiguration;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.web.cors.CorsConfiguration config
        start local 2 // java.lang.String requestOrigin
         0: .line 183
            aload 1 /* config */
            aload 2 /* requestOrigin */
            invokevirtual org.springframework.web.cors.CorsConfiguration.checkOrigin:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String requestOrigin
        end local 1 // org.springframework.web.cors.CorsConfiguration config
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0    1     1         config  Lorg/springframework/web/cors/CorsConfiguration;
            0    1     2  requestOrigin  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      config         
      requestOrigin  

  protected java.util.List<org.springframework.http.HttpMethod> checkMethods(org.springframework.web.cors.CorsConfiguration, org.springframework.http.HttpMethod);
    descriptor: (Lorg/springframework/web/cors/CorsConfiguration;Lorg/springframework/http/HttpMethod;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.web.cors.CorsConfiguration config
        start local 2 // org.springframework.http.HttpMethod requestMethod
         0: .line 193
            aload 1 /* config */
            aload 2 /* requestMethod */
            invokevirtual org.springframework.web.cors.CorsConfiguration.checkHttpMethod:(Lorg/springframework/http/HttpMethod;)Ljava/util/List;
            areturn
        end local 2 // org.springframework.http.HttpMethod requestMethod
        end local 1 // org.springframework.web.cors.CorsConfiguration config
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0    1     1         config  Lorg/springframework/web/cors/CorsConfiguration;
            0    1     2  requestMethod  Lorg/springframework/http/HttpMethod;
    Signature: (Lorg/springframework/web/cors/CorsConfiguration;Lorg/springframework/http/HttpMethod;)Ljava/util/List<Lorg/springframework/http/HttpMethod;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      config         
      requestMethod  

  private org.springframework.http.HttpMethod getMethodToUse(org.springframework.http.server.ServerHttpRequest, boolean);
    descriptor: (Lorg/springframework/http/server/ServerHttpRequest;Z)Lorg/springframework/http/HttpMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.http.server.ServerHttpRequest request
        start local 2 // boolean isPreFlight
         0: .line 198
            iload 2 /* isPreFlight */
            ifeq 1
            aload 1 /* request */
            invokeinterface org.springframework.http.server.ServerHttpRequest.getHeaders:()Lorg/springframework/http/HttpHeaders;
            invokevirtual org.springframework.http.HttpHeaders.getAccessControlRequestMethod:()Lorg/springframework/http/HttpMethod;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* request */
            invokeinterface org.springframework.http.server.ServerHttpRequest.getMethod:()Lorg/springframework/http/HttpMethod;
      StackMap locals:
      StackMap stack: org.springframework.http.HttpMethod
         2: areturn
        end local 2 // boolean isPreFlight
        end local 1 // org.springframework.http.server.ServerHttpRequest request
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0    3     1      request  Lorg/springframework/http/server/ServerHttpRequest;
            0    3     2  isPreFlight  Z
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      request      
      isPreFlight  

  protected java.util.List<java.lang.String> checkHeaders(org.springframework.web.cors.CorsConfiguration, java.util.List<java.lang.String>);
    descriptor: (Lorg/springframework/web/cors/CorsConfiguration;Ljava/util/List;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.web.cors.CorsConfiguration config
        start local 2 // java.util.List requestHeaders
         0: .line 208
            aload 1 /* config */
            aload 2 /* requestHeaders */
            invokevirtual org.springframework.web.cors.CorsConfiguration.checkHeaders:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // java.util.List requestHeaders
        end local 1 // org.springframework.web.cors.CorsConfiguration config
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0    1     1          config  Lorg/springframework/web/cors/CorsConfiguration;
            0    1     2  requestHeaders  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Lorg/springframework/web/cors/CorsConfiguration;Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      config          
      requestHeaders  

  private java.util.List<java.lang.String> getHeadersToUse(org.springframework.http.server.ServerHttpRequest, boolean);
    descriptor: (Lorg/springframework/http/server/ServerHttpRequest;Z)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.web.cors.DefaultCorsProcessor this
        start local 1 // org.springframework.http.server.ServerHttpRequest request
        start local 2 // boolean isPreFlight
         0: .line 212
            aload 1 /* request */
            invokeinterface org.springframework.http.server.ServerHttpRequest.getHeaders:()Lorg/springframework/http/HttpHeaders;
            astore 3 /* headers */
        start local 3 // org.springframework.http.HttpHeaders headers
         1: .line 213
            iload 2 /* isPreFlight */
            ifeq 2
            aload 3 /* headers */
            invokevirtual org.springframework.http.HttpHeaders.getAccessControlRequestHeaders:()Ljava/util/List;
            goto 3
      StackMap locals: org.springframework.http.HttpHeaders
      StackMap stack:
         2: new java.util.ArrayList
            dup
            aload 3 /* headers */
            invokevirtual org.springframework.http.HttpHeaders.keySet:()Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
      StackMap locals:
      StackMap stack: java.util.List
         3: areturn
        end local 3 // org.springframework.http.HttpHeaders headers
        end local 2 // boolean isPreFlight
        end local 1 // org.springframework.http.server.ServerHttpRequest request
        end local 0 // org.springframework.web.cors.DefaultCorsProcessor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/springframework/web/cors/DefaultCorsProcessor;
            0    4     1      request  Lorg/springframework/http/server/ServerHttpRequest;
            0    4     2  isPreFlight  Z
            1    4     3      headers  Lorg/springframework/http/HttpHeaders;
    Signature: (Lorg/springframework/http/server/ServerHttpRequest;Z)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      request      
      isPreFlight  
}
SourceFile: "DefaultCorsProcessor.java"