net.i2p.i2ptunnel
Class I2PTunnelHTTPClientRunner
java.lang.Object
java.lang.Thread
net.i2p.util.I2PThread
net.i2p.util.I2PAppThread
net.i2p.i2ptunnel.I2PTunnelRunner
net.i2p.i2ptunnel.I2PTunnelHTTPClientRunner
- All Implemented Interfaces:
- Runnable, I2PSocket.SocketErrorListener
public class I2PTunnelHTTPClientRunner
- extends I2PTunnelRunner
Override the response with a stream filtering the HTTP headers
received. Specifically, this makes sure we get Connection: close,
so the browser knows they really shouldn't try to use persistent
connections. The HTTP server *should* already be setting this,
since the HTTP headers sent by the browser specify Connection: close,
and the server should echo it. However, both broken and malicious
servers could ignore that, potentially confusing the user.
Methods inherited from class java.lang.Thread |
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
I2PTunnelHTTPClientRunner
public I2PTunnelHTTPClientRunner(Socket s,
I2PSocket i2ps,
Object slock,
byte[] initialI2PData,
List sockList,
Runnable onTimeout)
getSocketOut
protected OutputStream getSocketOut()
throws IOException
- Overrides:
getSocketOut
in class I2PTunnelRunner
- Throws:
IOException
close
protected void close(OutputStream out,
InputStream in,
OutputStream i2pout,
InputStream i2pin,
Socket s,
I2PSocket i2ps,
Thread t1,
Thread t2)
throws InterruptedException,
IOException
- Overrides:
close
in class I2PTunnelRunner
- Throws:
InterruptedException
IOException