Runnable, EventDispatcherI2PTunnelHTTPBidirServerpublic class I2PTunnelHTTPServer extends I2PTunnelServer
| Modifier and Type | Field | Description |
|---|---|---|
static int |
DEFAULT_POST_BAN_TIME |
|
static int |
DEFAULT_POST_MAX |
|
static int |
DEFAULT_POST_TOTAL_BAN_TIME |
|
static int |
DEFAULT_POST_TOTAL_MAX |
|
static int |
DEFAULT_POST_WINDOW |
|
protected static String |
ERR_REQUEST_TIMEOUT |
|
static String |
OPT_POST_BAN_TIME |
|
static String |
OPT_POST_MAX |
|
static String |
OPT_POST_TOTAL_BAN_TIME |
|
static String |
OPT_POST_TOTAL_MAX |
|
static String |
OPT_POST_WINDOW |
all of these in SECONDS
|
static String |
OPT_REJECT_INPROXY |
|
static String |
OPT_REJECT_REFERER |
|
static String |
OPT_REJECT_USER_AGENTS |
|
static String |
OPT_USER_AGENTS |
__serverId, _clientExecutor, _log, bidir, i2pss, l, localPort, PROP_ALT_PKF, PROP_UNIQUE_LOCAL, PROP_USE_SSL, readTimeout, remoteHost, remotePort, slock, sockMgr, sslLock, taskopen| Constructor | Description |
|---|---|
I2PTunnelHTTPServer(InetAddress host,
int port,
File privkey,
String privkeyname,
String spoofHost,
Logging l,
EventDispatcher notifyThis,
I2PTunnel tunnel) |
|
I2PTunnelHTTPServer(InetAddress host,
int port,
InputStream privData,
String privkeyname,
String spoofHost,
Logging l,
EventDispatcher notifyThis,
I2PTunnel tunnel) |
|
I2PTunnelHTTPServer(InetAddress host,
int port,
String privData,
String spoofHost,
Logging l,
EventDispatcher notifyThis,
I2PTunnel tunnel) |
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
blockingHandle(I2PSocket socket) |
Called by the thread pool of I2PSocket handlers
|
boolean |
close(boolean forced) |
Note that the tunnel can be reopened after this by calling startRunning().
|
protected static String |
formatHeaders(Map<String,List<String>> headers,
StringBuilder command) |
|
void |
optionsUpdated(I2PTunnel tunnel) |
Update the I2PSocketManager.
|
(package private) static Map<String,List<String>> |
readHeaders(I2PSocket socket,
InputStream in,
StringBuilder command,
String[] skipHeaders,
I2PAppContext ctx) |
From I2P to server: socket non-null, in null.
|
void |
startRunning() |
Start running the I2PTunnelServer.
|
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, notifyEvent, unIgnoreEvents, waitEventValuedestroy, getHandlerCount, getReadTimeout, getSocket, getSocket, run, setReadTimeout, shouldUsePoolconnected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toStringpublic static final String OPT_POST_WINDOW
public static final String OPT_POST_BAN_TIME
public static final String OPT_POST_TOTAL_BAN_TIME
public static final String OPT_POST_MAX
public static final String OPT_POST_TOTAL_MAX
public static final String OPT_REJECT_INPROXY
public static final String OPT_REJECT_REFERER
public static final String OPT_REJECT_USER_AGENTS
public static final String OPT_USER_AGENTS
public static final int DEFAULT_POST_WINDOW
public static final int DEFAULT_POST_BAN_TIME
public static final int DEFAULT_POST_TOTAL_BAN_TIME
public static final int DEFAULT_POST_MAX
public static final int DEFAULT_POST_TOTAL_MAX
protected static final String ERR_REQUEST_TIMEOUT
public I2PTunnelHTTPServer(InetAddress host, int port, String privData, String spoofHost, Logging l, EventDispatcher notifyThis, I2PTunnel tunnel)
public I2PTunnelHTTPServer(InetAddress host, int port, File privkey, String privkeyname, String spoofHost, Logging l, EventDispatcher notifyThis, I2PTunnel tunnel)
public I2PTunnelHTTPServer(InetAddress host, int port, InputStream privData, String privkeyname, String spoofHost, Logging l, EventDispatcher notifyThis, I2PTunnel tunnel)
public void startRunning()
I2PTunnelServerstartRunning in class I2PTunnelServerpublic boolean close(boolean forced)
I2PTunnelServerclose in class I2PTunnelServerpublic void optionsUpdated(I2PTunnel tunnel)
I2PTunnelServeroptionsUpdated in class I2PTunnelServerprotected void blockingHandle(I2PSocket socket)
blockingHandle in class I2PTunnelServerprotected static String formatHeaders(Map<String,List<String>> headers, StringBuilder command)
static Map<String,List<String>> readHeaders(I2PSocket socket, InputStream in, StringBuilder command, String[] skipHeaders, I2PAppContext ctx) throws IOException
socket - if null, use in as InputStreamin - if null, use socket.getInputStream() as InputStreamcommand - out parameter, first lineskipHeaders - MUST be lower caseSocketTimeoutException - if timeout is reached before newlineEOFException - if EOF is reached before newlinenet.i2p.i2ptunnel.I2PTunnelHTTPServer.LineTooLongException - if one header too long, or too many headers, or total size too bignet.i2p.i2ptunnel.I2PTunnelHTTPServer.RequestTooLongException - if too longnet.i2p.i2ptunnel.I2PTunnelHTTPServer.BadRequestException - on bad headersIOException - on other errors in the underlying stream