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

    Constructors
    Constructor and Description
    `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