CMCommon
, HttpClient
, CMObject
, Tickable
, java.lang.Cloneable
, java.lang.Comparable<CMObject>
public class DefaultHttpClient extends java.lang.Object implements HttpClient, java.lang.Cloneable
HttpClient.Method
Modifier and Type | Field | Description |
---|---|---|
protected int |
connectTimeout |
|
protected java.io.InputStream |
in |
|
protected int |
maxReadBytes |
|
protected HttpClient.Method |
meth |
|
protected java.io.OutputStream |
out |
|
protected byte[] |
outBody |
|
protected int |
readTimeout |
|
protected java.util.Map<java.lang.String,java.lang.String> |
reqHeaders |
|
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
respHeaders |
|
protected java.lang.Integer |
respStatus |
|
protected java.net.Socket |
sock |
idConverter
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_BALLISTICK, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EVENT, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MISCELLANEOUS, TICKID_MOB, TICKID_PROPERTY_SPECIAL, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SHORTERMASK, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET
Constructor | Description |
---|---|
DefaultHttpClient() |
Modifier and Type | Method | Description |
---|---|---|
HttpClient |
body(byte[] body) |
An http request builder method that sets the body to send.
|
HttpClient |
body(java.lang.String body) |
An http request builder method that sets the body to send.
|
int |
compareTo(CMObject o) |
|
protected void |
conditionalHeader(java.lang.String key,
java.lang.String value,
java.util.List<java.lang.String> clearSet) |
|
HttpClient |
connectTimeout(int ms) |
An http request builder method that sets the maximum number of
milliseconds that the reader will remain idle waiting for
a connection to occur.
|
CMObject |
copyOf() |
Similar to Cloneable.clone(), but does its best to make sure that
any internal objects to this class are also copyOfed.
|
HttpClient |
doGet(java.lang.String url) |
An http request builder method that causes this request
to occur as a GET
|
HttpClient |
doHead(java.lang.String url) |
An http request builder method that causes this request
to occur as a HEAD
|
HttpClient |
doRequest(java.lang.String url) |
An http request builder method that causes this request
to occur.
|
void |
finished() |
Closes this connection, entirely.
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getHeaders(java.lang.String urlStr) |
Calls GET on the given url, waiting no more than a few seconds for connection,
and returns the headers from the response.
|
byte[] |
getRawUrl(java.lang.String urlStr) |
Reads the simple raw return content from a given url and returns it as a
byte array.
|
byte[] |
getRawUrl(java.lang.String urlStr,
int maxLength,
int readTimeout) |
Reads the simple raw return content from a given url and returns it as a
byte array.
|
byte[] |
getRawUrl(java.lang.String urlStr,
java.lang.String cookieStr) |
Reads the simple raw return content from a given url and returns it as a
byte array.
|
byte[] |
getRawUrl(java.lang.String urlStr,
java.lang.String cookieStr,
int maxLength,
int readTimeout) |
Reads the simple raw return content from a given url and returns it as a
byte array.
|
java.io.InputStream |
getResponseBody() |
Returns an input stream to the body of the response
to this request.
|
int |
getResponseCode() |
Returns the http status code from the response
|
int |
getResponseContentLength() |
Gets the length of the body of the response to this
request.
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getResponseHeaders() |
Returns the headers in the response to this request
|
int |
getTickStatus() |
A coded status for this object during the period where
its tick method is being called.
|
HttpClient |
header(java.lang.String key,
java.lang.String value) |
An http request builder method that adds a header.
|
java.lang.String |
ID() |
The CoffeeMud Java Class ID shared by all instances of
this object.
|
void |
initializeClass() |
Called ONCE after all objects are loaded, but before the map is read in
during initialization.
|
HttpClient |
maxReadBytes(int bytes) |
An http request builder method that sets the maximum number of
bytes that can be read by the request processor.
|
HttpClient |
method(HttpClient.Method meth) |
An http request builder method that sets the http method
|
java.lang.String |
name() |
The nice displayable name of this instance of this object
|
CMObject |
newInstance() |
Returns a new instance of this class.
|
HttpClient |
readTimeout(int ms) |
An http request builder method that sets the maximum number of
milliseconds that the reader will remain idle waiting for
a byte of data.
|
HttpClient |
reset() |
An http request builder method that resets the client obj
so that the connection can be used for another request.
|
boolean |
tick(Tickable ticking,
int tickID) |
this is the method which is called periodically by the threading engine.
|
protected java.util.Map<java.lang.String,java.lang.String> reqHeaders
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> respHeaders
protected java.net.Socket sock
protected java.io.OutputStream out
protected java.io.InputStream in
protected HttpClient.Method meth
protected int connectTimeout
protected int readTimeout
protected int maxReadBytes
protected byte[] outBody
protected java.lang.Integer respStatus
public java.lang.String ID()
CMObject
public java.lang.String name()
Tickable
name
in interface CMObject
name
in interface Tickable
Environmental.Name()
public CMObject newInstance()
CMObject
newInstance
in interface CMObject
public void initializeClass()
CMObject
initializeClass
in interface CMObject
public HttpClient header(java.lang.String key, java.lang.String value)
HttpClient
header
in interface HttpClient
key
- the header namevalue
- the header valuepublic HttpClient method(HttpClient.Method meth)
HttpClient
method
in interface HttpClient
meth
- the methodpublic HttpClient body(java.lang.String body)
HttpClient
body
in interface HttpClient
body
- the body to sendpublic HttpClient body(byte[] body)
HttpClient
body
in interface HttpClient
body
- the body to sendpublic HttpClient reset()
HttpClient
reset
in interface HttpClient
public HttpClient connectTimeout(int ms)
HttpClient
connectTimeout
in interface HttpClient
ms
- the maximum number of ms to wait, or 0 for unlimitedpublic HttpClient readTimeout(int ms)
HttpClient
readTimeout
in interface HttpClient
ms
- the maximum number of ms to wait, or 0 for unlimitedpublic HttpClient maxReadBytes(int bytes)
HttpClient
maxReadBytes
in interface HttpClient
bytes
- max bytes to read, or 0 for no limitprotected void conditionalHeader(java.lang.String key, java.lang.String value, java.util.List<java.lang.String> clearSet)
public int getResponseCode()
HttpClient
getResponseCode
in interface HttpClient
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getResponseHeaders()
HttpClient
getResponseHeaders
in interface HttpClient
public HttpClient doRequest(java.lang.String url) throws java.io.IOException
HttpClient
doRequest
in interface HttpClient
url
- the url to usejava.io.IOException
- a socket errorpublic byte[] getRawUrl(java.lang.String urlStr, java.lang.String cookieStr)
HttpClient
getRawUrl
in interface HttpClient
urlStr
- the url to fetchcookieStr
- cookies to send, or "", or null for nonepublic byte[] getRawUrl(java.lang.String urlStr)
HttpClient
getRawUrl
in interface HttpClient
urlStr
- the url to fetchpublic byte[] getRawUrl(java.lang.String urlStr, int maxLength, int readTimeout)
HttpClient
getRawUrl
in interface HttpClient
urlStr
- the url to fetchmaxLength
- the maximum size of the content, or 0 for any sizereadTimeout
- the maximum time, in ms, to wait for connects, and readspublic int getResponseContentLength()
HttpClient
getResponseContentLength
in interface HttpClient
public java.io.InputStream getResponseBody()
HttpClient
getResponseBody
in interface HttpClient
public HttpClient doGet(java.lang.String url) throws java.io.IOException
HttpClient
doGet
in interface HttpClient
url
- the url to usejava.io.IOException
- a socket errorpublic HttpClient doHead(java.lang.String url) throws java.io.IOException
HttpClient
doHead
in interface HttpClient
url
- the url to usejava.io.IOException
- a socket errorpublic byte[] getRawUrl(java.lang.String urlStr, java.lang.String cookieStr, int maxLength, int readTimeout)
HttpClient
getRawUrl
in interface HttpClient
urlStr
- the url to fetchcookieStr
- cookies to send, or "", or null for nonemaxLength
- the maximum size of the content, or 0 for any sizereadTimeout
- the maximum time, in ms, to wait for connects, and readspublic void finished()
HttpClient
finished
in interface HttpClient
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaders(java.lang.String urlStr)
HttpClient
getHeaders
in interface HttpClient
urlStr
- the url to GETpublic int getTickStatus()
Tickable
getTickStatus
in interface Tickable
Tickable.tick(Tickable, int)
public boolean tick(Tickable ticking, int tickID)
Tickable
tick
in interface Tickable
ticking
- a reference to this Tickable objecttickID
- the TICKID_ constant describing this periodic call, as defined in TickableTickable
,
ServiceEngine
,
TickableGroup
public CMObject copyOf()
CMObject