## net.i2p.i2ptunnel
Class I2PTunnelHTTPClientBase

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

All Implemented Interfaces:
  Runnable, EventDispatcher

Direct Known Subclasses:
  I2PTunnelConnectClient, I2PTunnelHTTPClient

    public abstract class I2PTunnelHTTPClientBase

extends I2PTunnelClientBase
implements Runnable

Common things for HTTPClient and ConnectClient Retrofit over them in 0.8.2

Since:
  0.8.2

Field Summary
`protected static long` `__clientId` used to assign unique IDs to the threads / clients.
`protected static long` `__requestId`
`protected static File` `_errorDir`
`protected List<String>` `_proxyList`
`protected static int` `DEFAULT_READ_TIMEOUT`
`protected static byte[]` `ERR_NO_OUTPROXY`
`static String` `PROP_AUTH` all auth @since 0.8.2
`static String` `PROP_OUTPROXY_AUTH`
`static String` `PROP_OUTPROXY_PW`
`static String` `PROP_OUTPROXY_PW_PREFIX`
`static String` `PROP_OUTPROXY_USER`
`static String` `PROP_OUTPROXY_USER_PREFIX` passwords for specific outproxies may be added with outproxyUsername.fooproxy.i2p=user and outproxyPassword.fooproxy.i2p=pw
`static String` `PROP_PW`
`static String` `PROP_PW_PREFIX` additional users may be added with proxyPassword.user=pw
`static String` `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
`I2PTunnelHTTPClientBase(int localPort, boolean ownDest, Logging l, EventDispatcher notifyThis, String handlerName, I2PTunnel tunnel)`
`I2PTunnelHTTPClientBase(int localPort, Logging l, I2PSocketManager sktMgr, I2PTunnel tunnel, EventDispatcher notifyThis, long clientId)`

Method Summary
`protected boolean` `authorize(Socket s, long requestId, String authorization)`
`protected String` `getPrefix(long requestId)`
`protected String` `selectProxy()`

Methods inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
`buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, clientConnectionRun, close, closeSocket, createI2PSocket, createI2PSocket, getDefaultOptions, getDefaultOptions, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, manageConnection, run, startRunning, 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`

Field Detail

### _proxyList

    protected final List<String> _proxyList

### ERR_NO_OUTPROXY

    protected static final byte[] ERR_NO_OUTPROXY

### __clientId

    protected static volatile long __clientId

  used to assign unique IDs to the threads / clients. no logic or functionality

### _errorDir

    protected static final File _errorDir

### DEFAULT_READ_TIMEOUT

    protected static final int DEFAULT_READ_TIMEOUT

See Also:
  Constant Field Values

### __requestId

    protected static long __requestId

### PROP_AUTH

    public static final String PROP_AUTH

  all auth @since 0.8.2

  See Also:
    Constant Field Values

### PROP_USER

    public static final String PROP_USER

See Also:
  Constant Field Values

### PROP_PW

    public static final String PROP_PW

See Also:
  Constant Field Values

### PROP_PW_PREFIX

    public static final String PROP_PW_PREFIX

  additional users may be added with proxyPassword.user=pw

  See Also:
    Constant Field Values

### PROP_OUTPROXY_AUTH

    public static final String PROP_OUTPROXY_AUTH

See Also:
  Constant Field Values

### PROP_OUTPROXY_USER

    public static final String PROP_OUTPROXY_USER

See Also:
  Constant Field Values

### PROP_OUTPROXY_PW

    public static final String PROP_OUTPROXY_PW

See Also:
  Constant Field Values

### PROP_OUTPROXY_USER_PREFIX

    public static final String PROP_OUTPROXY_USER_PREFIX

  passwords for specific outproxies may be added with outproxyUsername.fooproxy.i2p=user and outproxyPassword.fooproxy.i2p=pw

  See Also:
    Constant Field Values

### PROP_OUTPROXY_PW_PREFIX

    public static final String PROP_OUTPROXY_PW_PREFIX

See Also:
  Constant Field Values

Constructor Detail

### I2PTunnelHTTPClientBase

    public I2PTunnelHTTPClientBase(int localPort,
                                   boolean ownDest,
                                   Logging l,
                                   EventDispatcher notifyThis,
                                   String handlerName,
                                   I2PTunnel tunnel)
                            throws IllegalArgumentException

Throws:
  `IllegalArgumentException`

### I2PTunnelHTTPClientBase

    public I2PTunnelHTTPClientBase(int localPort,
                                   Logging l,
                                   I2PSocketManager sktMgr,
                                   I2PTunnel tunnel,
                                   EventDispatcher notifyThis,
                                   long clientId)
                            throws IllegalArgumentException

Throws:
  `IllegalArgumentException`

Method Detail

### getPrefix

    protected String getPrefix(long requestId)

### selectProxy

    protected String selectProxy()

### authorize

    protected boolean authorize(Socket s,
                                long requestId,
                                String authorization)

  Parameters:
    `authorization` - may be null
  Returns:
    success