public class sun.net.httpserver.AuthFilter extends com.sun.net.httpserver.Filter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.net.httpserver.AuthFilter
  super_class: com.sun.net.httpserver.Filter
{
  private com.sun.net.httpserver.Authenticator authenticator;
    descriptor: Lcom/sun/net/httpserver/Authenticator;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.sun.net.httpserver.Authenticator);
    descriptor: (Lcom/sun/net/httpserver/Authenticator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.net.httpserver.AuthFilter this
        start local 1 // com.sun.net.httpserver.Authenticator authenticator
         0: .line 41
            aload 0 /* this */
            invokespecial com.sun.net.httpserver.Filter.<init>:()V
         1: .line 42
            aload 0 /* this */
            aload 1 /* authenticator */
            putfield sun.net.httpserver.AuthFilter.authenticator:Lcom/sun/net/httpserver/Authenticator;
         2: .line 43
            return
        end local 1 // com.sun.net.httpserver.Authenticator authenticator
        end local 0 // sun.net.httpserver.AuthFilter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lsun/net/httpserver/AuthFilter;
            0    3     1  authenticator  Lcom/sun/net/httpserver/Authenticator;
    MethodParameters:
               Name  Flags
      authenticator  

  public java.lang.String description();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.net.httpserver.AuthFilter this
         0: .line 46
            ldc "Authentication filter"
            areturn
        end local 0 // sun.net.httpserver.AuthFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/net/httpserver/AuthFilter;

  public void setAuthenticator(com.sun.net.httpserver.Authenticator);
    descriptor: (Lcom/sun/net/httpserver/Authenticator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.net.httpserver.AuthFilter this
        start local 1 // com.sun.net.httpserver.Authenticator a
         0: .line 50
            aload 0 /* this */
            aload 1 /* a */
            putfield sun.net.httpserver.AuthFilter.authenticator:Lcom/sun/net/httpserver/Authenticator;
         1: .line 51
            return
        end local 1 // com.sun.net.httpserver.Authenticator a
        end local 0 // sun.net.httpserver.AuthFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/net/httpserver/AuthFilter;
            0    2     1     a  Lcom/sun/net/httpserver/Authenticator;
    MethodParameters:
      Name  Flags
      a     

  public void consumeInput(com.sun.net.httpserver.HttpExchange);
    descriptor: (Lcom/sun/net/httpserver/HttpExchange;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.net.httpserver.AuthFilter this
        start local 1 // com.sun.net.httpserver.HttpExchange t
         0: .line 54
            aload 1 /* t */
            invokevirtual com.sun.net.httpserver.HttpExchange.getRequestBody:()Ljava/io/InputStream;
            astore 2 /* i */
        start local 2 // java.io.InputStream i
         1: .line 55
            sipush 4096
            newarray 8
            astore 3 /* b */
        start local 3 // byte[] b
         2: .line 56
      StackMap locals: java.io.InputStream byte[]
      StackMap stack:
            aload 2 /* i */
            aload 3 /* b */
            invokevirtual java.io.InputStream.read:([B)I
            iconst_m1
            if_icmpne 2
         3: .line 57
            aload 2 /* i */
            invokevirtual java.io.InputStream.close:()V
         4: .line 58
            return
        end local 3 // byte[] b
        end local 2 // java.io.InputStream i
        end local 1 // com.sun.net.httpserver.HttpExchange t
        end local 0 // sun.net.httpserver.AuthFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/net/httpserver/AuthFilter;
            0    5     1     t  Lcom/sun/net/httpserver/HttpExchange;
            1    5     2     i  Ljava/io/InputStream;
            2    5     3     b  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      t     

  public void doFilter(com.sun.net.httpserver.HttpExchange, com.sun.net.httpserver.Filter$Chain);
    descriptor: (Lcom/sun/net/httpserver/HttpExchange;Lcom/sun/net/httpserver/Filter$Chain;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.net.httpserver.AuthFilter this
        start local 1 // com.sun.net.httpserver.HttpExchange t
        start local 2 // com.sun.net.httpserver.Filter$Chain chain
         0: .line 65
            aload 0 /* this */
            getfield sun.net.httpserver.AuthFilter.authenticator:Lcom/sun/net/httpserver/Authenticator;
            ifnull 18
         1: .line 66
            aload 0 /* this */
            getfield sun.net.httpserver.AuthFilter.authenticator:Lcom/sun/net/httpserver/Authenticator;
            aload 1 /* t */
            invokevirtual com.sun.net.httpserver.Authenticator.authenticate:(Lcom/sun/net/httpserver/HttpExchange;)Lcom/sun/net/httpserver/Authenticator$Result;
            astore 3 /* r */
        start local 3 // com.sun.net.httpserver.Authenticator$Result r
         2: .line 67
            aload 3 /* r */
            instanceof com.sun.net.httpserver.Authenticator$Success
            ifeq 8
         3: .line 68
            aload 3 /* r */
            checkcast com.sun.net.httpserver.Authenticator$Success
            astore 4 /* s */
        start local 4 // com.sun.net.httpserver.Authenticator$Success s
         4: .line 69
            aload 1 /* t */
            invokestatic sun.net.httpserver.ExchangeImpl.get:(Lcom/sun/net/httpserver/HttpExchange;)Lsun/net/httpserver/ExchangeImpl;
            astore 5 /* e */
        start local 5 // sun.net.httpserver.ExchangeImpl e
         5: .line 70
            aload 5 /* e */
            aload 4 /* s */
            invokevirtual com.sun.net.httpserver.Authenticator$Success.getPrincipal:()Lcom/sun/net/httpserver/HttpPrincipal;
            invokevirtual sun.net.httpserver.ExchangeImpl.setPrincipal:(Lcom/sun/net/httpserver/HttpPrincipal;)V
         6: .line 71
            aload 2 /* chain */
            aload 1 /* t */
            invokevirtual com.sun.net.httpserver.Filter$Chain.doFilter:(Lcom/sun/net/httpserver/HttpExchange;)V
        end local 5 // sun.net.httpserver.ExchangeImpl e
        end local 4 // com.sun.net.httpserver.Authenticator$Success s
         7: .line 72
            goto 19
      StackMap locals: com.sun.net.httpserver.Authenticator$Result
      StackMap stack:
         8: aload 3 /* r */
            instanceof com.sun.net.httpserver.Authenticator$Retry
            ifeq 13
         9: .line 73
            aload 3 /* r */
            checkcast com.sun.net.httpserver.Authenticator$Retry
            astore 4 /* ry */
        start local 4 // com.sun.net.httpserver.Authenticator$Retry ry
        10: .line 74
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual sun.net.httpserver.AuthFilter.consumeInput:(Lcom/sun/net/httpserver/HttpExchange;)V
        11: .line 75
            aload 1 /* t */
            aload 4 /* ry */
            invokevirtual com.sun.net.httpserver.Authenticator$Retry.getResponseCode:()I
            ldc -1
            invokevirtual com.sun.net.httpserver.HttpExchange.sendResponseHeaders:(IJ)V
        end local 4 // com.sun.net.httpserver.Authenticator$Retry ry
        12: .line 76
            goto 19
      StackMap locals:
      StackMap stack:
        13: aload 3 /* r */
            instanceof com.sun.net.httpserver.Authenticator$Failure
            ifeq 19
        14: .line 77
            aload 3 /* r */
            checkcast com.sun.net.httpserver.Authenticator$Failure
            astore 4 /* f */
        start local 4 // com.sun.net.httpserver.Authenticator$Failure f
        15: .line 78
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual sun.net.httpserver.AuthFilter.consumeInput:(Lcom/sun/net/httpserver/HttpExchange;)V
        16: .line 79
            aload 1 /* t */
            aload 4 /* f */
            invokevirtual com.sun.net.httpserver.Authenticator$Failure.getResponseCode:()I
            ldc -1
            invokevirtual com.sun.net.httpserver.HttpExchange.sendResponseHeaders:(IJ)V
        end local 4 // com.sun.net.httpserver.Authenticator$Failure f
        end local 3 // com.sun.net.httpserver.Authenticator$Result r
        17: .line 81
            goto 19
        18: .line 82
      StackMap locals:
      StackMap stack:
            aload 2 /* chain */
            aload 1 /* t */
            invokevirtual com.sun.net.httpserver.Filter$Chain.doFilter:(Lcom/sun/net/httpserver/HttpExchange;)V
        19: .line 84
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.net.httpserver.Filter$Chain chain
        end local 1 // com.sun.net.httpserver.HttpExchange t
        end local 0 // sun.net.httpserver.AuthFilter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lsun/net/httpserver/AuthFilter;
            0   20     1      t  Lcom/sun/net/httpserver/HttpExchange;
            0   20     2  chain  Lcom/sun/net/httpserver/Filter$Chain;
            2   17     3      r  Lcom/sun/net/httpserver/Authenticator$Result;
            4    7     4      s  Lcom/sun/net/httpserver/Authenticator$Success;
            5    7     5      e  Lsun/net/httpserver/ExchangeImpl;
           10   12     4     ry  Lcom/sun/net/httpserver/Authenticator$Retry;
           15   17     4      f  Lcom/sun/net/httpserver/Authenticator$Failure;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      t      
      chain  
}
SourceFile: "AuthFilter.java"
InnerClasses:
  public Failure = com.sun.net.httpserver.Authenticator$Failure of com.sun.net.httpserver.Authenticator
  public abstract Result = com.sun.net.httpserver.Authenticator$Result of com.sun.net.httpserver.Authenticator
  public Retry = com.sun.net.httpserver.Authenticator$Retry of com.sun.net.httpserver.Authenticator
  public Success = com.sun.net.httpserver.Authenticator$Success of com.sun.net.httpserver.Authenticator
  public Chain = com.sun.net.httpserver.Filter$Chain of com.sun.net.httpserver.Filter