public class sun.net.www.protocol.gopher.GopherClient extends sun.net.NetworkClient implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.www.protocol.gopher.GopherClient
super_class: sun.net.NetworkClient
{
public static boolean useGopherProxy;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static java.lang.String gopherProxyHost;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static int gopherProxyPort;
descriptor: I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
RuntimeVisibleAnnotations:
java.lang.Deprecated()
java.io.PipedOutputStream os;
descriptor: Ljava/io/PipedOutputStream;
flags: (0x0000)
java.net.URL u;
descriptor: Ljava/net/URL;
flags: (0x0000)
int gtype;
descriptor: I
flags: (0x0000)
java.lang.String gkey;
descriptor: Ljava/lang/String;
flags: (0x0000)
sun.net.www.URLConnection connection;
descriptor: Lsun/net/www/URLConnection;
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new sun.security.action.GetBooleanAction
dup
ldc "gopherProxySet"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
2: invokevirtual java.lang.Boolean.booleanValue:()Z
3: putstatic sun.net.www.protocol.gopher.GopherClient.useGopherProxy:Z
4: new sun.security.action.GetPropertyAction
dup
ldc "gopherProxyHost"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
putstatic sun.net.www.protocol.gopher.GopherClient.gopherProxyHost:Ljava/lang/String;
6: new sun.security.action.GetIntegerAction
dup
ldc "gopherProxyPort"
bipush 80
invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;I)V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
8: invokevirtual java.lang.Integer.intValue:()I
9: putstatic sun.net.www.protocol.gopher.GopherClient.gopherProxyPort:I
10: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.net.www.URLConnection);
descriptor: (Lsun/net/www/URLConnection;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.net.NetworkClient.<init>:()V
1: aload 0
aload 1
putfield sun.net.www.protocol.gopher.GopherClient.connection:Lsun/net/www/URLConnection;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/www/protocol/gopher/GopherClient;
0 3 1 connection Lsun/net/www/URLConnection;
MethodParameters:
Name Flags
connection
public static boolean getUseGopherProxy();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.GetBooleanAction
dup
ldc "gopherProxySet"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
2: invokevirtual java.lang.Boolean.booleanValue:()Z
3: ireturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getGopherProxyHost();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: new sun.security.action.GetPropertyAction
dup
ldc "gopherProxyHost"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 2: ldc ""
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aconst_null
astore 0
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 5 0 host Ljava/lang/String;
public static int getGopherProxyPort();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new sun.security.action.GetIntegerAction
dup
ldc "gopherProxyPort"
bipush 80
invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;I)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
2: invokevirtual java.lang.Integer.intValue:()I
3: ireturn
LocalVariableTable:
Start End Slot Name Signature
java.io.InputStream openStream(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/io/InputStream;
flags: (0x0000)
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.net.www.protocol.gopher.GopherClient.u:Ljava/net/URL;
1: aload 0
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
putfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
2: iconst_0
istore 2
start local 2 3: aload 1
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
astore 3
start local 3 4: aload 3
invokevirtual java.lang.String.length:()I
istore 4
start local 4 5: bipush 49
istore 5
start local 5 6: goto 8
7: StackMap locals: sun.net.www.protocol.gopher.GopherClient java.net.URL int java.lang.String int int
StackMap stack:
iinc 2 1
8: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmpge 9
aload 3
iload 2
invokevirtual java.lang.String.charAt:(I)C
dup
istore 5
bipush 47
if_icmpeq 7
9: StackMap locals:
StackMap stack:
aload 0
iload 5
bipush 47
if_icmpne 10
bipush 49
goto 11
StackMap locals:
StackMap stack: sun.net.www.protocol.gopher.GopherClient
10: iload 5
StackMap locals: sun.net.www.protocol.gopher.GopherClient java.net.URL int java.lang.String int int
StackMap stack: sun.net.www.protocol.gopher.GopherClient int
11: putfield sun.net.www.protocol.gopher.GopherClient.gtype:I
12: iload 2
iload 4
if_icmpge 14
13: iinc 2 1
14: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield sun.net.www.protocol.gopher.GopherClient.gkey:Ljava/lang/String;
15: aload 0
aload 1
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
aload 1
invokevirtual java.net.URL.getPort:()I
ifgt 16
bipush 70
goto 17
StackMap locals: sun.net.www.protocol.gopher.GopherClient java.net.URL int java.lang.String int int
StackMap stack: sun.net.www.protocol.gopher.GopherClient java.lang.String
16: aload 1
invokevirtual java.net.URL.getPort:()I
StackMap locals: sun.net.www.protocol.gopher.GopherClient java.net.URL int java.lang.String int int
StackMap stack: sun.net.www.protocol.gopher.GopherClient java.lang.String int
17: invokevirtual sun.net.www.protocol.gopher.GopherClient.openServer:(Ljava/lang/String;I)V
18: new sun.net.www.MessageHeader
dup
invokespecial sun.net.www.MessageHeader.<init>:()V
astore 6
start local 6 19: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gtype:I
lookupswitch { // 5
48: 20
49: 22
55: 20
73: 24
103: 24
default: 26
}
20: StackMap locals: sun.net.www.MessageHeader
StackMap stack:
aload 6
ldc "content-type"
ldc "text/plain"
invokevirtual sun.net.www.MessageHeader.add:(Ljava/lang/String;Ljava/lang/String;)V
21: goto 27
22: StackMap locals:
StackMap stack:
aload 6
ldc "content-type"
ldc "text/html"
invokevirtual sun.net.www.MessageHeader.add:(Ljava/lang/String;Ljava/lang/String;)V
23: goto 27
24: StackMap locals:
StackMap stack:
aload 6
ldc "content-type"
ldc "image/gif"
invokevirtual sun.net.www.MessageHeader.add:(Ljava/lang/String;Ljava/lang/String;)V
25: goto 27
26: StackMap locals:
StackMap stack:
aload 6
ldc "content-type"
ldc "content/unknown"
invokevirtual sun.net.www.MessageHeader.add:(Ljava/lang/String;Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gtype:I
bipush 55
if_icmpeq 31
28: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.serverOutput:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 0
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gkey:Ljava/lang/String;
invokevirtual sun.net.www.protocol.gopher.GopherClient.decodePercent:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
29: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.serverOutput:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
30: goto 39
StackMap locals:
StackMap stack:
31: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gkey:Ljava/lang/String;
bipush 63
invokevirtual java.lang.String.indexOf:(I)I
dup
istore 2
iflt 38
32: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.serverOutput:Ljava/io/PrintStream;
aload 0
new java.lang.StringBuilder
dup
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gkey:Ljava/lang/String;
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gkey:Ljava/lang/String;
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual sun.net.www.protocol.gopher.GopherClient.decodePercent:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
35: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.serverOutput:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
36: aload 6
ldc "content-type"
ldc "text/html"
invokevirtual sun.net.www.MessageHeader.add:(Ljava/lang/String;Ljava/lang/String;)V
37: goto 39
38: StackMap locals:
StackMap stack:
aload 6
ldc "content-type"
ldc "text/html"
invokevirtual sun.net.www.MessageHeader.add:(Ljava/lang/String;Ljava/lang/String;)V
39: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.connection:Lsun/net/www/URLConnection;
aload 6
invokevirtual sun.net.www.URLConnection.setProperties:(Lsun/net/www/MessageHeader;)V
40: aload 6
ldc "content-type"
invokevirtual sun.net.www.MessageHeader.findValue:(Ljava/lang/String;)Ljava/lang/String;
ldc "text/html"
if_acmpne 46
41: aload 0
new java.io.PipedOutputStream
dup
invokespecial java.io.PipedOutputStream.<init>:()V
putfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
42: new java.io.PipedInputStream
dup
invokespecial java.io.PipedInputStream.<init>:()V
astore 7
start local 7 43: aload 7
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
invokevirtual java.io.PipedInputStream.connect:(Ljava/io/PipedOutputStream;)V
44: new java.lang.Thread
dup
aload 0
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
invokevirtual java.lang.Thread.start:()V
45: aload 7
areturn
end local 7 46: StackMap locals:
StackMap stack:
new sun.net.www.protocol.gopher.GopherInputStream
dup
aload 0
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.serverInput:Ljava/io/InputStream;
invokespecial sun.net.www.protocol.gopher.GopherInputStream.<init>:(Lsun/net/NetworkClient;Ljava/io/InputStream;)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lsun/net/www/protocol/gopher/GopherClient;
0 47 1 u Ljava/net/URL;
3 47 2 i I
4 47 3 s Ljava/lang/String;
5 47 4 limit I
6 47 5 c I
19 47 6 msgh Lsun/net/www/MessageHeader;
43 46 7 ret Ljava/io/PipedInputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
u
private java.lang.String decodePercent(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
ifge 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 3: iload 2
newarray 5
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 30
7: StackMap locals: sun.net.www.protocol.gopher.GopherClient java.lang.String int char[] int int
StackMap stack:
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 8: iload 6
bipush 37
if_icmpne 28
iload 5
iconst_2
iadd
iload 2
if_icmpge 28
9: aload 1
iload 5
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 10: aload 1
iload 5
iconst_2
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 11: bipush 48
iload 7
if_icmpgt 13
iload 7
bipush 57
if_icmpgt 13
12: iinc 7 -48
goto 18
13: StackMap locals: int int int
StackMap stack:
bipush 97
iload 7
if_icmpgt 15
iload 7
bipush 102
if_icmpgt 15
14: iload 7
bipush 97
isub
bipush 10
iadd
istore 7
goto 18
15: StackMap locals:
StackMap stack:
bipush 65
iload 7
if_icmpgt 17
iload 7
bipush 70
if_icmpgt 17
16: iload 7
bipush 65
isub
bipush 10
iadd
istore 7
goto 18
17: StackMap locals:
StackMap stack:
iconst_m1
istore 7
18: StackMap locals:
StackMap stack:
bipush 48
iload 8
if_icmpgt 20
iload 8
bipush 57
if_icmpgt 20
19: iinc 8 -48
goto 25
20: StackMap locals:
StackMap stack:
bipush 97
iload 8
if_icmpgt 22
iload 8
bipush 102
if_icmpgt 22
21: iload 8
bipush 97
isub
bipush 10
iadd
istore 8
goto 25
22: StackMap locals:
StackMap stack:
bipush 65
iload 8
if_icmpgt 24
iload 8
bipush 70
if_icmpgt 24
23: iload 8
bipush 65
isub
bipush 10
iadd
istore 8
goto 25
24: StackMap locals:
StackMap stack:
iconst_m1
istore 8
25: StackMap locals:
StackMap stack:
iload 7
iflt 28
iload 8
iflt 28
26: iload 7
iconst_4
ishl
iload 8
ior
istore 6
27: iinc 5 2
end local 8 end local 7 28: StackMap locals:
StackMap stack:
aload 3
iload 4
iinc 4 1
iload 6
i2c
castore
end local 6 29: iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
iload 2
if_icmplt 7
end local 5 31: new java.lang.String
dup
aload 3
iconst_0
iload 4
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/net/www/protocol/gopher/GopherClient;
0 32 1 s Ljava/lang/String;
3 32 2 limit I
4 32 3 d [C
5 32 4 dp I
6 31 5 sp I
8 29 6 c I
10 28 7 s1 I
11 28 8 s2 I
MethodParameters:
Name Flags
s
private java.lang.String encodePercent(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 3: aconst_null
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 34
7: StackMap locals: sun.net.www.protocol.gopher.GopherClient java.lang.String int char[] int int
StackMap stack:
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 8: iload 6
bipush 32
if_icmple 9
iload 6
bipush 34
if_icmpeq 9
iload 6
bipush 37
if_icmpne 26
9: StackMap locals: int
StackMap stack:
aload 3
ifnonnull 11
10: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 3
11: StackMap locals:
StackMap stack:
iload 4
iconst_3
iadd
aload 3
arraylength
if_icmplt 15
12: iload 4
bipush 10
iadd
newarray 5
astore 7
start local 7 13: aload 3
iconst_0
aload 7
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: aload 7
astore 3
end local 7 15: StackMap locals:
StackMap stack:
aload 3
iload 4
bipush 37
castore
16: iload 6
iconst_4
ishr
bipush 15
iand
istore 7
start local 7 17: aload 3
iload 4
iconst_1
iadd
iload 7
bipush 10
if_icmpge 18
bipush 48
iload 7
iadd
goto 19
StackMap locals: sun.net.www.protocol.gopher.GopherClient java.lang.String int char[] int int int int
StackMap stack: char[] int
18: bipush 55
iload 7
iadd
StackMap locals: sun.net.www.protocol.gopher.GopherClient java.lang.String int char[] int int int int
StackMap stack: char[] int int
19: i2c
castore
20: iload 6
bipush 15
iand
istore 7
21: aload 3
iload 4
iconst_2
iadd
iload 7
bipush 10
if_icmpge 22
bipush 48
iload 7
iadd
goto 23
StackMap locals: sun.net.www.protocol.gopher.GopherClient java.lang.String int char[] int int int int
StackMap stack: char[] int
22: bipush 55
iload 7
iadd
StackMap locals: sun.net.www.protocol.gopher.GopherClient java.lang.String int char[] int int int int
StackMap stack: char[] int int
23: i2c
castore
24: iinc 4 3
end local 7 25: goto 33
26: StackMap locals:
StackMap stack:
aload 3
ifnull 32
27: iload 4
aload 3
arraylength
if_icmplt 31
28: iload 4
bipush 10
iadd
newarray 5
astore 7
start local 7 29: aload 3
iconst_0
aload 7
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
30: aload 7
astore 3
end local 7 31: StackMap locals:
StackMap stack:
aload 3
iload 4
iload 6
i2c
castore
32: StackMap locals:
StackMap stack:
iinc 4 1
end local 6 33: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
34: iload 5
iload 2
if_icmplt 7
end local 5 35: aload 3
ifnonnull 36
aload 1
goto 37
StackMap locals:
StackMap stack:
36: new java.lang.String
dup
aload 3
iconst_0
iload 4
invokespecial java.lang.String.<init>:([CII)V
StackMap locals:
StackMap stack: java.lang.String
37: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/net/www/protocol/gopher/GopherClient;
0 38 1 s Ljava/lang/String;
3 38 2 limit I
4 38 3 d [C
5 38 4 dp I
6 35 5 sp I
8 33 6 c I
13 15 7 nd [C
17 25 7 dig I
29 31 7 nd [C
MethodParameters:
Name Flags
s
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=1
start local 0 0: iconst_m1
istore 1
start local 1 1: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gtype:I
bipush 55
if_icmpne 5
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gkey:Ljava/lang/String;
bipush 63
invokevirtual java.lang.String.indexOf:(I)I
dup
istore 1
ifge 5
2: new java.io.PrintStream
dup
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
iconst_0
getstatic sun.net.www.protocol.gopher.GopherClient.encoding:Ljava/lang/String;
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;ZLjava/lang/String;)V
astore 2
start local 2 3: aload 2
ldc "<html><head><title>Searchable Gopher Index</title></head>\n<body><h1>Searchable Gopher Index</h1><isindex>\n</body></html>\n"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 2 4: goto 83
StackMap locals: int
StackMap stack:
5: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gtype:I
bipush 49
if_icmpeq 14
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gtype:I
bipush 55
if_icmpeq 14
6: sipush 2048
newarray 8
astore 2
start local 2 7: goto 9
start local 3 8: StackMap locals: byte[] int
StackMap stack:
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
aload 2
iconst_0
iload 3
invokevirtual java.io.PipedOutputStream.write:([BII)V
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.serverInput:Ljava/io/InputStream;
aload 2
invokevirtual java.io.InputStream.read:([B)I
dup
istore 3
start local 3 10: ifge 8
end local 3 11: goto 83
StackMap locals:
StackMap stack: java.lang.Exception
12: pop
end local 2 13: goto 83
14: StackMap locals:
StackMap stack:
new java.io.PrintStream
dup
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
iconst_0
getstatic sun.net.www.protocol.gopher.GopherClient.encoding:Ljava/lang/String;
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;ZLjava/lang/String;)V
astore 2
start local 2 15: aconst_null
astore 3
start local 3 16: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gtype:I
bipush 55
if_icmpne 21
17: new java.lang.StringBuilder
dup
ldc "Results of searching for \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gkey:Ljava/lang/String;
iload 1
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: ldc "\" on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.u:Ljava/net/URL;
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
20: goto 22
21: StackMap locals: java.io.PrintStream java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Gopher directory "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.gkey:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.u:Ljava/net/URL;
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
22: StackMap locals:
StackMap stack:
aload 2
ldc "<html><head><title>"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
23: aload 2
aload 3
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
24: aload 2
ldc "</title></head>\n<body>\n<H1>"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
25: aload 2
aload 3
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
26: aload 2
ldc "</h1><dl compact>\n"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
27: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 0
getfield sun.net.www.protocol.gopher.GopherClient.serverInput:Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 4
start local 4 28: goto 65
start local 5 29: StackMap locals: java.io.BufferedReader java.lang.String
StackMap stack:
aload 5
invokevirtual java.lang.String.length:()I
istore 6
start local 6 30: goto 32
31: StackMap locals: int
StackMap stack:
iinc 6 -1
32: StackMap locals:
StackMap stack:
iload 6
ifle 33
aload 5
iload 6
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 32
if_icmple 31
33: StackMap locals:
StackMap stack:
iload 6
ifgt 35
34: goto 65
35: StackMap locals:
StackMap stack:
aload 5
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 36: aload 5
bipush 9
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 37: iload 8
ifle 38
aload 5
bipush 9
iload 8
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
goto 39
StackMap locals: int int
StackMap stack:
38: iconst_m1
StackMap locals:
StackMap stack: int
39: istore 9
start local 9 40: iload 9
ifle 41
aload 5
bipush 9
iload 9
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
goto 42
StackMap locals: int
StackMap stack:
41: iconst_m1
StackMap locals:
StackMap stack: int
42: istore 10
start local 10 43: iload 10
ifge 45
44: goto 65
45: StackMap locals: int
StackMap stack:
iload 10
iconst_1
iadd
iload 6
if_icmpge 46
new java.lang.StringBuilder
dup
ldc ":"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
iload 10
iconst_1
iadd
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 47
StackMap locals:
StackMap stack:
46: ldc ""
StackMap locals:
StackMap stack: java.lang.String
47: astore 11
start local 11 48: iload 9
iconst_1
iadd
iload 10
if_icmpge 49
aload 5
iload 9
iconst_1
iadd
iload 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 50
StackMap locals: java.lang.String
StackMap stack:
49: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.u:Ljava/net/URL;
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
50: astore 12
start local 12 51: aload 2
new java.lang.StringBuilder
dup
ldc "<dt><a href=\"gopher://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: aload 5
iconst_0
iconst_1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 5
iload 8
iconst_1
iadd
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual sun.net.www.protocol.gopher.GopherClient.encodePercent:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\">\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
54: aload 2
ldc "<img align=middle border=0 width=25 height=32 src="
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
55: iload 7
lookupswitch { // 3
48: 58
49: 60
103: 62
default: 56
}
56: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "java.net.ftp.imagepath.file"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
57: goto 63
58: StackMap locals:
StackMap stack:
aload 2
ldc "java.net.ftp.imagepath.text"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
59: goto 63
60: StackMap locals:
StackMap stack:
aload 2
ldc "java.net.ftp.imagepath.directory"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
61: goto 63
62: StackMap locals:
StackMap stack:
aload 2
ldc "java.net.ftp.imagepath.gif"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
63: StackMap locals:
StackMap stack:
aload 2
ldc ".gif align=middle><dd>\n"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
64: aload 2
new java.lang.StringBuilder
dup
aload 5
iconst_1
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "</a>\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 65: StackMap locals: sun.net.www.protocol.gopher.GopherClient int java.io.PrintStream java.lang.String java.io.BufferedReader
StackMap stack:
aload 4
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 5
start local 5 66: ifnonnull 29
67: aload 2
ldc "</dl></body>\n"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
68: aload 2
invokevirtual java.io.PrintStream.close:()V
end local 5 end local 4 end local 3 end local 2 69: goto 83
StackMap locals: sun.net.www.protocol.gopher.GopherClient int
StackMap stack: java.io.UnsupportedEncodingException
70: pop
71: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
getstatic sun.net.www.protocol.gopher.GopherClient.encoding:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " encoding not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
72: StackMap locals:
StackMap stack: java.io.IOException
pop
73: aload 0
invokevirtual sun.net.www.protocol.gopher.GopherClient.closeServer:()V
74: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
invokevirtual java.io.PipedOutputStream.close:()V
75: goto 87
StackMap locals:
StackMap stack: java.io.IOException
76: pop
goto 87
77: StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
78: aload 0
invokevirtual sun.net.www.protocol.gopher.GopherClient.closeServer:()V
79: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
invokevirtual java.io.PipedOutputStream.close:()V
80: goto 82
StackMap locals: sun.net.www.protocol.gopher.GopherClient int top top top top top top top top top top top java.lang.Throwable
StackMap stack: java.io.IOException
81: pop
82: StackMap locals:
StackMap stack:
aload 13
athrow
83: StackMap locals: sun.net.www.protocol.gopher.GopherClient int
StackMap stack:
aload 0
invokevirtual sun.net.www.protocol.gopher.GopherClient.closeServer:()V
84: aload 0
getfield sun.net.www.protocol.gopher.GopherClient.os:Ljava/io/PipedOutputStream;
invokevirtual java.io.PipedOutputStream.close:()V
85: goto 87
StackMap locals:
StackMap stack: java.io.IOException
86: pop
87: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 88 0 this Lsun/net/www/protocol/gopher/GopherClient;
1 88 1 qpos I
3 4 2 ps Ljava/io/PrintStream;
7 13 2 buf [B
8 9 3 n I
10 11 3 n I
15 69 2 ps Ljava/io/PrintStream;
16 69 3 title Ljava/lang/String;
28 69 4 ds Ljava/io/BufferedReader;
29 65 5 s Ljava/lang/String;
66 69 5 s Ljava/lang/String;
30 65 6 len I
36 65 7 key I
37 65 8 t1 I
40 65 9 t2 I
43 65 10 t3 I
48 65 11 port Ljava/lang/String;
51 65 12 host Ljava/lang/String;
Exception table:
from to target type
7 11 12 Class java.lang.Exception
1 69 70 Class java.io.UnsupportedEncodingException
1 69 72 Class java.io.IOException
73 75 76 Class java.io.IOException
1 73 77 any
78 80 81 Class java.io.IOException
83 85 86 Class java.io.IOException
}
SourceFile: "GopherClient.java"