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

Fields
`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

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

Methods
`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