|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object rabbit.proxy.Connection
public class Connection
The base connection class for rabbit. This is the class that handle the http protocoll for proxies. For the technical overview of how connections and threads works see the file htdocs/technical_documentation/thread_handling_overview.txt
Constructor Summary | |
---|---|
Connection(ConnectionId id,
SocketChannel channel,
HttpProxy proxy,
BufferHandler bufHandler)
Create a new Connection |
Method Summary | |
---|---|
void |
doError(int status,
String message)
Send an error (400 Bad Request) to the client. |
BufferHandler |
getBufferHandler()
|
SocketChannel |
getChannel()
Get the SocketChannel to the client |
boolean |
getChunking()
Get the chunking option. |
ClientResourceHandler |
getClientResourceHandler()
|
String |
getContentLength()
|
Counter |
getCounter()
|
String |
getDebugInfo()
|
String |
getExtraInfo()
|
HttpGenerator |
getHttpGenerator()
|
ConnectionId |
getId()
|
boolean |
getMayFilter()
Get the state of the request. |
boolean |
getMeta()
Get the state of this request. |
NioHandler |
getNioHandler()
|
String |
getPassword()
Get the name of the user that is currently authorized. |
HttpProxy |
getProxy()
|
String |
getRequestLine()
Get the request line of the request currently being handled |
String |
getRequestURI()
Get the current request uri. |
String |
getRequestVersion()
Get the http version that the client used. |
long |
getStarted()
Get the time this connection was started. |
String |
getStatus()
|
String |
getUserName()
Get the name of the user that is currently authorized. |
void |
logAndClose(rabbit.proxy.RequestHandler rh)
Log the current request and close/end this connection |
void |
logAndRestart()
Log the current request and start to listen for a new request. |
protected boolean |
mustTunnel(rabbit.proxy.RequestHandler rh)
Check if we must tunnel a request. |
void |
readRequest()
Read a request. |
void |
sendAndClose(HttpHeader header)
Send a request and then close this connection. |
void |
setChunking(boolean b)
Set the chunking option. |
void |
setContentLength(String contentLength)
Set the content length of the response. |
void |
setExtraInfo(String info)
Set the extra info. |
void |
setKeepalive(boolean keepalive)
Set keepalive to a new value. |
void |
setMayCache(boolean cacheAllowed)
Specify if we may cache the response resource. |
void |
setMayFilter(boolean filterAllowed)
Get the state of this request. |
void |
setMayUseCache(boolean useCache)
Specify if the current resource may be served from our cache. |
void |
setMeta(boolean meta)
Set the state of this request. |
void |
setMustRevalidate(boolean b)
|
void |
setPassword(String password)
|
void |
setStatusCode(String statusCode)
|
void |
setUserName(String userName)
|
boolean |
useFullURI()
|
void |
webConnectionEstablished(rabbit.proxy.RequestHandler rh)
|
void |
webConnectionSetupFailed(rabbit.proxy.RequestHandler rh,
Exception cause)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Connection(ConnectionId id, SocketChannel channel, HttpProxy proxy, BufferHandler bufHandler)
id
- the ConnectionId of this connection.channel
- the SocketChannel to the client.proxy
- the HttpProxy that this connection belongs to.bufHandler
- the BufferHandler to use for getting ByteBuffers.Method Detail |
---|
public ConnectionId getId()
public void readRequest()
public void webConnectionSetupFailed(rabbit.proxy.RequestHandler rh, Exception cause)
protected boolean mustTunnel(rabbit.proxy.RequestHandler rh)
rh
- the request handler.public void webConnectionEstablished(rabbit.proxy.RequestHandler rh)
public void doError(int status, String message)
status
- the status code of the error.message
- the error message to tell the client.public SocketChannel getChannel()
public NioHandler getNioHandler()
public HttpProxy getProxy()
public BufferHandler getBufferHandler()
public Counter getCounter()
public void setKeepalive(boolean keepalive)
keepalive
- the new keepalive value.public String getUserName()
public void setUserName(String userName)
public String getPassword()
public void setPassword(String password)
public String getRequestLine()
public String getRequestURI()
public String getDebugInfo()
public String getRequestVersion()
public String getStatus()
public String getContentLength()
public ClientResourceHandler getClientResourceHandler()
public String getExtraInfo()
public void setExtraInfo(String info)
info
- the new info.public long getStarted()
public void setChunking(boolean b)
b
- if true this connection should use chunking.public boolean getChunking()
public boolean getMeta()
public void setMeta(boolean meta)
meta
- true if this request is a metapage request, false otherwise.public void setMayUseCache(boolean useCache)
useCache
- true if we may use the cache for serving this request,
false otherwise.public void setMayCache(boolean cacheAllowed)
cacheAllowed
- true if we may cache the response, false otherwise.public void setMayFilter(boolean filterAllowed)
filterAllowed
- true if we may filter the response, false otherwise.public boolean getMayFilter()
public void setMustRevalidate(boolean b)
public void setContentLength(String contentLength)
contentLength
- the new content length.public void setStatusCode(String statusCode)
public boolean useFullURI()
public void sendAndClose(HttpHeader header)
header
- the HttpHeader to send before closing down.public void logAndClose(rabbit.proxy.RequestHandler rh)
public void logAndRestart()
public HttpGenerator getHttpGenerator()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |