## net.i2p.i2ptunnel
Class I2PTunnelHTTPBidirProxy

    java.lang.Object
      net.i2p.i2ptunnel.I2PTunnelTask
          net.i2p.i2ptunnel.I2PTunnelClientBase
              net.i2p.i2ptunnel.I2PTunnelHTTPClientBase
                  net.i2p.i2ptunnel.I2PTunnelHTTPClient
                      net.i2p.i2ptunnel.I2PTunnelHTTPBidirProxy

All Implemented Interfaces:
  Runnable, EventDispatcher

    public class I2PTunnelHTTPBidirProxy

extends I2PTunnelHTTPClient
implements Runnable

Reuse HTTP server's I2PSocketManager for a proxy with no outproxy capability.

Author:
  sponge

Field Summary

Fields inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClient
`DEFAULT_JUMP_SERVERS, PROP_DISABLE_HELPER, PROP_JUMP_SERVERS, PROP_REFERER, PROP_USER_AGENT, PROP_VIA`

Fields inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClientBase
`__clientId, __requestId, _errorDir, _proxyList, DEFAULT_READ_TIMEOUT, PROP_AUTH, PROP_OUTPROXY_AUTH, PROP_OUTPROXY_PW, PROP_OUTPROXY_PW_PREFIX, PROP_OUTPROXY_USER, PROP_OUTPROXY_USER_PREFIX, PROP_PW, PROP_PW_PREFIX, PROP_USER`

Fields inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
`_clientId, _context, _executor, _log, _ownDest, DEFAULT_CONNECT_TIMEOUT, dest, l, mySockets, sockLock, sockMgr`

Fields inherited from class net.i2p.i2ptunnel.I2PTunnelTask
`open`

Constructor Summary
`I2PTunnelHTTPBidirProxy(int localPort, Logging l, I2PSocketManager sockMgr, I2PTunnel tunnel, EventDispatcher notifyThis, long clientId)`

Method Summary

Methods inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClient
`_, _, _, clientConnectionRun, close, getDefaultOptions, getDefaultOptions, startRunning`

Methods inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClientBase
`authorize, getPrefix, selectProxy`

Methods inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
`buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, closeSocket, createI2PSocket, createI2PSocket, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, manageConnection, run, verifySocketManager`

Methods inherited from class net.i2p.i2ptunnel.I2PTunnelTask
`attachEventDispatcher, detachEventDispatcher, disconnected, errorOccurred, getEventDispatcher, getEvents, getEventValue, getId, getTunnel, ignoreEvents, isOpen, notifyEvent, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString, unIgnoreEvents, waitEventValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.lang.Runnable
`run`

Constructor Detail

### I2PTunnelHTTPBidirProxy

    public I2PTunnelHTTPBidirProxy(int localPort,
                                   Logging l,
                                   I2PSocketManager sockMgr,
                                   I2PTunnel tunnel,
                                   EventDispatcher notifyThis,
                                   long clientId)

Throws:
  `IllegalArgumentException` - if the I2PTunnel does not contain valid config to contact the router