public interface io.vertx.ext.web.Route
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.ext.web.Route
  super_class: java.lang.Object
{
  public abstract io.vertx.ext.web.Route method(io.vertx.core.http.HttpMethod);
    descriptor: (Lio/vertx/core/http/HttpMethod;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
        Name  Flags
      method  

  public abstract io.vertx.ext.web.Route path(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
      Name  Flags
      path  

  public abstract io.vertx.ext.web.Route pathRegex(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
      Name  Flags
      path  

  public abstract io.vertx.ext.web.Route produces(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
             Name  Flags
      contentType  

  public abstract io.vertx.ext.web.Route consumes(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
             Name  Flags
      contentType  

  public abstract io.vertx.ext.web.Route virtualHost(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                 Name  Flags
      hostnamePattern  

  public abstract io.vertx.ext.web.Route order(int);
    descriptor: (I)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
       Name  Flags
      order  

  public abstract io.vertx.ext.web.Route last();
    descriptor: ()Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()

  public abstract io.vertx.ext.web.Route handler(io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;)Lio/vertx/ext/web/Route;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                Name  Flags
      requestHandler  

  public abstract io.vertx.ext.web.Route blockingHandler(io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;)Lio/vertx/ext/web/Route;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                Name  Flags
      requestHandler  

  public abstract io.vertx.ext.web.Route subRouter(io.vertx.ext.web.Router);
    descriptor: (Lio/vertx/ext/web/Router;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      subRouter  

  public abstract io.vertx.ext.web.Route blockingHandler(io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>, boolean);
    descriptor: (Lio/vertx/core/Handler;Z)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;Z)Lio/vertx/ext/web/Route;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                Name  Flags
      requestHandler  
      ordered         

  public abstract io.vertx.ext.web.Route failureHandler(io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;)Lio/vertx/ext/web/Route;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                Name  Flags
      failureHandler  

  public abstract io.vertx.ext.web.Route remove();
    descriptor: ()Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()

  public abstract io.vertx.ext.web.Route disable();
    descriptor: ()Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()

  public abstract io.vertx.ext.web.Route enable();
    descriptor: ()Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()

  public io.vertx.ext.web.Route useNormalisedPath(boolean);
    descriptor: (Z)Lio/vertx/ext/web/Route;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.Route this
        start local 1 // boolean useNormalizedPath
         0: .line 209
            aload 0 /* this */
            iload 1 /* useNormalizedPath */
            invokeinterface io.vertx.ext.web.Route.useNormalizedPath:(Z)Lio/vertx/ext/web/Route;
            areturn
        end local 1 // boolean useNormalizedPath
        end local 0 // io.vertx.ext.web.Route this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lio/vertx/ext/web/Route;
            0    1     1  useNormalizedPath  Z
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
      java.lang.Deprecated()
    MethodParameters:
                   Name  Flags
      useNormalizedPath  

  public abstract io.vertx.ext.web.Route useNormalizedPath(boolean);
    descriptor: (Z)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                   Name  Flags
      useNormalizedPath  

  public abstract java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.Nullable()

  public abstract boolean isRegexPath();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Set<io.vertx.core.http.HttpMethod> methods();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Set<Lio/vertx/core/http/HttpMethod;>;

  public abstract io.vertx.ext.web.Route setRegexGroupsNames(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Lio/vertx/ext/web/Route;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
        Name  Flags
      groups  

  public abstract io.vertx.ext.web.Route setName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/Route;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
      Name  Flags
      name  

  public abstract java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public <T> io.vertx.ext.web.Route respond(java.util.function.Function<io.vertx.ext.web.RoutingContext, io.vertx.core.Future<T>>);
    descriptor: (Ljava/util/function/Function;)Lio/vertx/ext/web/Route;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.Route this
        start local 1 // java.util.function.Function function
         0: .line 297
            aload 0 /* this */
            aload 1 /* function */
            invokedynamic handle(Ljava/util/function/Function;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/web/Route.lambda$0(Ljava/util/function/Function;Lio/vertx/ext/web/RoutingContext;)V (6 itf)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.Route.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
            areturn
        end local 1 // java.util.function.Function function
        end local 0 // io.vertx.ext.web.Route this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/vertx/ext/web/Route;
            0    1     1  function  Ljava/util/function/Function<Lio/vertx/ext/web/RoutingContext;Lio/vertx/core/Future<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/function/Function<Lio/vertx/ext/web/RoutingContext;Lio/vertx/core/Future<TT;>;>;)Lio/vertx/ext/web/Route;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER, location=[TYPE_ARGUMENT(1), TYPE_ARGUMENT(0)]
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
          Name  Flags
      function  

  private static void lambda$0(java.util.function.Function, io.vertx.ext.web.RoutingContext);
    descriptor: (Ljava/util/function/Function;Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 1 // io.vertx.ext.web.RoutingContext ctx
         0: .line 299
            aload 0
            aload 1 /* ctx */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.Future
         1: .line 300
            aload 1 /* ctx */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic handle(Lio/vertx/ext/web/RoutingContext;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/web/RoutingContext.fail(Ljava/lang/Throwable;)V (9 itf)
                  (Ljava/lang/Throwable;)V
            invokeinterface io.vertx.core.Future.onFailure:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
         2: .line 301
            aload 1 /* ctx */
            invokedynamic handle(Lio/vertx/ext/web/RoutingContext;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/web/Route.lambda$2(Lio/vertx/ext/web/RoutingContext;Ljava/lang/Object;)V (6 itf)
                  (Ljava/lang/Object;)V
            invokeinterface io.vertx.core.Future.onSuccess:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         3: .line 334
            goto 6
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         4: astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         5: .line 335
            aload 1 /* ctx */
            aload 2 /* e */
            invokeinterface io.vertx.ext.web.RoutingContext.fail:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.RuntimeException e
         6: .line 337
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.ext.web.RoutingContext ctx
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     1   ctx  Lio/vertx/ext/web/RoutingContext;
            5    6     2     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.RuntimeException

  private static void lambda$2(io.vertx.ext.web.RoutingContext, java.lang.Object);
    descriptor: (Lio/vertx/ext/web/RoutingContext;Ljava/lang/Object;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=2
        start local 1 // java.lang.Object body
         0: .line 302
            aload 0
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            invokeinterface io.vertx.core.http.HttpServerResponse.headWritten:()Z
            ifne 20
         1: .line 303
            aload 1 /* body */
            ifnonnull 7
         2: .line 304
            aload 0
         3: .line 305
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
         4: .line 306
            sipush 204
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
         5: .line 307
            invokeinterface io.vertx.core.http.HttpServerResponse.end:()Lio/vertx/core/Future;
            pop
         6: .line 308
            goto 25
         7: .line 309
      StackMap locals:
      StackMap stack:
            aload 0
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            invokeinterface io.vertx.core.http.HttpServerResponse.headers:()Lio/vertx/core/MultiMap;
            getstatic io.vertx.core.http.HttpHeaders.CONTENT_TYPE:Ljava/lang/CharSequence;
            invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/CharSequence;)Z
            istore 2 /* hasContentType */
        start local 2 // boolean hasContentType
         8: .line 310
            aload 1 /* body */
            instanceof io.vertx.core.buffer.Buffer
            ifeq 13
         9: .line 311
            iload 2 /* hasContentType */
            ifne 11
        10: .line 312
            aload 0
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            getstatic io.vertx.core.http.HttpHeaders.CONTENT_TYPE:Ljava/lang/CharSequence;
            ldc "application/octet-stream"
            invokeinterface io.vertx.core.http.HttpServerResponse.putHeader:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/http/HttpServerResponse;
            pop
        11: .line 314
      StackMap locals: int
      StackMap stack:
            aload 0
            aload 1 /* body */
            checkcast io.vertx.core.buffer.Buffer
            invokeinterface io.vertx.ext.web.RoutingContext.end:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            pop
        12: .line 315
            goto 25
      StackMap locals:
      StackMap stack:
        13: aload 1 /* body */
            instanceof java.lang.String
            ifeq 18
        14: .line 316
            iload 2 /* hasContentType */
            ifne 16
        15: .line 317
            aload 0
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            getstatic io.vertx.core.http.HttpHeaders.CONTENT_TYPE:Ljava/lang/CharSequence;
            ldc "text/html"
            invokeinterface io.vertx.core.http.HttpServerResponse.putHeader:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/http/HttpServerResponse;
            pop
        16: .line 319
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1 /* body */
            checkcast java.lang.String
            invokeinterface io.vertx.ext.web.RoutingContext.end:(Ljava/lang/String;)Lio/vertx/core/Future;
            pop
        17: .line 320
            goto 25
        18: .line 321
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1 /* body */
            invokeinterface io.vertx.ext.web.RoutingContext.json:(Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
        end local 2 // boolean hasContentType
        19: .line 324
            goto 25
        20: .line 325
      StackMap locals:
      StackMap stack:
            aload 1 /* body */
            ifnonnull 24
        21: .line 326
            aload 0
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            invokeinterface io.vertx.core.http.HttpServerResponse.ended:()Z
            ifne 25
        22: .line 327
            aload 0
            invokeinterface io.vertx.ext.web.RoutingContext.end:()Lio/vertx/core/Future;
            pop
        23: .line 329
            goto 25
        24: .line 330
      StackMap locals:
      StackMap stack:
            aload 0
            new io.vertx.ext.web.handler.impl.HttpStatusException
            dup
            sipush 500
            ldc "Response already written"
            invokespecial io.vertx.ext.web.handler.impl.HttpStatusException.<init>:(ILjava/lang/String;)V
            invokeinterface io.vertx.ext.web.RoutingContext.fail:(Ljava/lang/Throwable;)V
        25: .line 333
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object body
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     1            body  TT;
            8   19     2  hasContentType  Z
}
SourceFile: "Route.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen()