134 lines
3.2 KiB
Java
134 lines
3.2 KiB
Java
import java.io.DataInputStream;
|
|
import java.io.IOException;
|
|
import java.net.HttpURLConnection;
|
|
import java.net.URL;
|
|
import java.net.URLConnection;
|
|
import java.util.LinkedList;
|
|
import java.util.Queue;
|
|
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("de")
|
|
@Implements("UrlRequester")
|
|
public class UrlRequester implements Runnable {
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Low;"
|
|
)
|
|
static IndexedSprite field1400;
|
|
@ObfuscatedName("f")
|
|
@Export("thread")
|
|
final Thread thread;
|
|
@ObfuscatedName("o")
|
|
@Export("isClosed")
|
|
volatile boolean isClosed;
|
|
@ObfuscatedName("u")
|
|
@Export("requests")
|
|
Queue requests;
|
|
|
|
public UrlRequester() {
|
|
this.requests = new LinkedList(); // L: 15
|
|
this.thread = new Thread(this); // L: 18
|
|
this.thread.setPriority(1); // L: 19
|
|
this.thread.start(); // L: 20
|
|
} // L: 21
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/net/URL;I)Lda;",
|
|
garbageValue = "-1899831036"
|
|
)
|
|
@Export("request")
|
|
public UrlRequest request(URL var1) {
|
|
UrlRequest var2 = new UrlRequest(var1); // L: 71
|
|
synchronized(this) { // L: 72
|
|
this.requests.add(var2); // L: 73
|
|
this.notify(); // L: 74
|
|
return var2; // L: 76
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "-1618502581"
|
|
)
|
|
@Export("close")
|
|
public void close() {
|
|
this.isClosed = true; // L: 80
|
|
|
|
try {
|
|
synchronized(this) { // L: 82
|
|
this.notify(); // L: 83
|
|
} // L: 84
|
|
|
|
this.thread.join(); // L: 85
|
|
} catch (InterruptedException var4) { // L: 87
|
|
}
|
|
|
|
} // L: 88
|
|
|
|
public void run() {
|
|
while (!this.isClosed) { // L: 24
|
|
try {
|
|
UrlRequest var1;
|
|
synchronized(this) { // L: 27
|
|
var1 = (UrlRequest)this.requests.poll(); // L: 28
|
|
if (var1 == null) { // L: 29
|
|
try {
|
|
this.wait(); // L: 31
|
|
} catch (InterruptedException var13) { // L: 33
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
|
|
DataInputStream var2 = null; // L: 37
|
|
URLConnection var3 = null; // L: 38
|
|
|
|
try {
|
|
var3 = var1.url.openConnection(); // L: 40
|
|
var3.setConnectTimeout(5000); // L: 41
|
|
var3.setReadTimeout(5000); // L: 42
|
|
var3.setUseCaches(false); // L: 43
|
|
var3.setRequestProperty("Connection", "close"); // L: 44
|
|
int var7 = var3.getContentLength(); // L: 45
|
|
if (var7 >= 0) { // L: 46
|
|
byte[] var5 = new byte[var7]; // L: 47
|
|
var2 = new DataInputStream(var3.getInputStream()); // L: 48
|
|
var2.readFully(var5); // L: 49
|
|
var1.response0 = var5; // L: 50
|
|
}
|
|
|
|
var1.isDone0 = true; // L: 52
|
|
} catch (IOException var14) { // L: 54
|
|
var1.isDone0 = true; // L: 55
|
|
} finally {
|
|
if (var2 != null) { // L: 58
|
|
var2.close();
|
|
}
|
|
|
|
if (var3 != null && var3 instanceof HttpURLConnection) { // L: 59
|
|
((HttpURLConnection)var3).disconnect(); // L: 60
|
|
}
|
|
|
|
}
|
|
} catch (Exception var17) { // L: 64
|
|
class223.RunException_sendStackTrace((String)null, var17); // L: 65
|
|
}
|
|
}
|
|
|
|
} // L: 68
|
|
|
|
@ObfuscatedName("ar")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)I",
|
|
garbageValue = "-694005791"
|
|
)
|
|
public static int method2388(String var0) {
|
|
return var0.length() + 2; // L: 126
|
|
}
|
|
}
|