Top Description Inners Fields Constructors Methods
org.eclipse.jetty.session

public Class SessionHandler

extends AbstractSessionManager
implements Singleton
Class Inheritance
All Implemented Interfaces
org.eclipse.jetty.server.Handler.Singleton, org.eclipse.jetty.server.Handler.Container, org.eclipse.jetty.server.Handler, org.eclipse.jetty.server.Request.Handler, org.eclipse.jetty.util.thread.Invocable, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.LifeCycle
Imports
java.util.concurrent.atomic.AtomicReference, org.eclipse.jetty.http.HttpCookie, org.eclipse.jetty.server.Handler, .Request, .Response, .Server, .Session, org.eclipse.jetty.util.Callback

A simple core SessionHandler

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

Modifier and TypeField and Description
private Handler
private Server
Inherited from org.eclipse.jetty.session.AbstractSessionManager:
LOG

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Handler
public ManagedSession
public Server
public boolean
handle(Request
the HTTP request to handle
request
,
Response
the HTTP response to handle
response
,
Callback
the callback to complete when the handling is complete
callback
)

Implements org.eclipse.jetty.server.Request.Handler.handle.

Invoked to handle the passed HTTP request and response.

public Session.API
public void
setHandler(Handler
The Handler to set as a child
handler
)

Implements org.eclipse.jetty.server.Handler.Singleton.setHandler.

public void
setServer(Server
the Server to associate to this Handler
server
)

Implements org.eclipse.jetty.server.Handler.setServer.

Set the Server to associate to this Handler.
Inherited from org.eclipse.jetty.session.AbstractSessionManager:
accessaddSessionStreamWrappercalculateInactivityTimeoutcommitcompletedoStartdoStopencodeURIgetContextgetManagedSessiongetMaxCookieAgegetMaxInactiveIntervalgetRefreshCookieAgegetSameSitegetSessionCachegetSessionCommentgetSessionContextgetSessionCookiegetSessionCookiegetSessionCookieAttributegetSessionCookieAttributesgetSessionDomaingetSessionIdManagergetSessionIdPathParameterNamegetSessionIdPathParameterNamePrefixgetSessionPathgetSessionsCreatedgetSessionTimeMeangetSessionTimeStdDevgetSessionTimeTotalinvalidateisCheckingRemoteSessionIdEncodingisHttpOnlyisIdInUseisPartitionedisSecureCookiesisSecureRequestOnlyisUsingCookiesisUsingUriParametersisUsingURLsnewSessionnewSessionInactivityTimeronSessionCreatedonSessionDestroyedonSessionIdChangedrecordSessionTimerenewSessionIdresolveRequestedSessionIdscavengesessionTimerExpiredsetCheckingRemoteSessionIdEncodingsetHttpOnlysetMaxCookieAgesetMaxInactiveIntervalsetPartitionedsetRefreshCookieAgesetSameSitesetSecureCookiessetSecureRequestOnlysetSessionCachesetSessionCommentsetSessionCookiesetSessionCookieAttributesetSessionDomainsetSessionIdManagersetSessionIdPathParameterNamesetSessionPathsetUsingCookiessetUsingUriParameterssetUsingURLs

Field Detail

_handlerback to summary
private Handler _handler
_serverback to summary
private Server _server

Constructor Detail

SessionHandlerback to summary
public SessionHandler()

Method Detail

getHandlerback to summary
public Handler getHandler()

Implements org.eclipse.jetty.server.Handler.Singleton.getHandler.

Returns:Handler

Doc from org.eclipse.jetty.server.Handler.Singleton.getHandler.

the child Handler

Annotations
@Override
getManagedSessionback to summary
public ManagedSession getManagedSession(Request request)

Implements org.eclipse.jetty.session.SessionManager.getManagedSession.

Annotations
@Override
getServerback to summary
public Server getServer()

Implements abstract org.eclipse.jetty.session.AbstractSessionManager.getServer.

Implements org.eclipse.jetty.server.Handler.getServer.

Returns:Server

Doc from org.eclipse.jetty.server.Handler.getServer.

the Server associated with this Handler

Annotations
@Override
handleback to summary
public boolean handle(Request request, Response response, Callback callback) throws Exception

Implements org.eclipse.jetty.server.Request.Handler.handle.

Doc from org.eclipse.jetty.server.Request.Handler.handle.

Invoked to handle the passed HTTP request and response.

The request is accepted by returning true, then handling must be concluded by completing the passed callback. The handling may be asynchronous, i.e. this method may return true and complete the given callback later, possibly from a different thread. If this method returns false, then the callback must not be invoked and any mutation on the response reversed.

Exceptions thrown by this method may be subsequently handled by an error Request.Handler, if present, otherwise a default HTTP 500 error is generated and the callback completed while writing the error response.

The simplest implementation is:

public boolean handle(Request request, Response response, Callback callback)
{
    callback.succeeded();
    return true;
}

A HelloWorld implementation is:

public boolean handle(Request request, Response response, Callback callback)
{
    response.write(true, ByteBuffer.wrap("Hello World\n".getBytes(StandardCharsets.UTF_8)), callback);
    return true;
}
Parameters
request:Request

the HTTP request to handle

response:Response

the HTTP response to handle

callback:Callback

the callback to complete when the handling is complete

Returns:boolean

True if and only if the request will be handled, a response generated and the callback eventually called. This may occur within the scope of the call to this method, or asynchronously some time later. If false is returned, then this method must not generate a response, nor complete the callback.

Annotations
@Override
Exceptions
Exception:
if there is a failure during the handling. Catchers cannot assume that the callback will be called and thus should attempt to complete the request as if a false had been returned.
newSessionAPIWrapperback to summary
public Session.API newSessionAPIWrapper(ManagedSession session)

Implements org.eclipse.jetty.session.SessionManager.newSessionAPIWrapper.

Annotations
@Override
setHandlerback to summary
public void setHandler(Handler handler)

Implements org.eclipse.jetty.server.Handler.Singleton.setHandler.

Parameters
handler:Handler

Doc from org.eclipse.jetty.server.Handler.Singleton.setHandler.

The Handler to set as a child

Annotations
@Override
setServerback to summary
public void setServer(Server server)

Implements org.eclipse.jetty.server.Handler.setServer.

Doc from org.eclipse.jetty.server.Handler.setServer.

Set the Server to associate to this Handler.

Parameters
server:Server

the Server to associate to this Handler

Annotations
@Override
org.eclipse.jetty.session back to summary

private Class SessionHandler.SessionRequest

extends Wrapper
Class Inheritance

Field Summary

Modifier and TypeField and Description
private String
private Response
private final AtomicReference<ManagedSession>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv ManagedSession
public Session
getSession(boolean
True if the session should be created for the request.
create
)

Overrides org.eclipse.jetty.server.Request.Wrapper.getSession.

Implements org.eclipse.jetty.server.Request.getSession.

Get a Session associated with the request.

public boolean
process(Request.Handler handler, Response response, Callback callback)

pack-priv void
Inherited from org.eclipse.jetty.server.Request.Wrapper:
addFailureListeneraddHttpStreamWrapperaddIdleTimeoutListenerasAttributeMapclearAttributesconsumeAvailabledemandfailgetAttributegetAttributeNameSetgetBeginNanoTimegetComponentsgetConnectionMetaDatagetContextgetHeadersgetHeadersNanoTimegetHttpURIgetIdgetLengthgetMethodgetTrailersgetTunnelSupportgetWrappedisSecurepushreadremoveAttributesetAttribute

Field Detail

_requestedSessionIdback to summary
private String _requestedSessionId
_responseback to summary
private Response _response
_sessionback to summary
private final AtomicReference<ManagedSession> _session

Constructor Detail

SessionRequestback to summary
public SessionRequest(Request request)

Method Detail

getManagedSessionback to summary
pack-priv ManagedSession getManagedSession()
getSessionback to summary
public Session getSession(boolean create)

Overrides org.eclipse.jetty.server.Request.Wrapper.getSession.

Implements org.eclipse.jetty.server.Request.getSession.

Doc from org.eclipse.jetty.server.Request.getSession.

Get a Session associated with the request. Sessions may not be supported by a given configuration, in which case null will be returned.

Parameters
create:boolean

True if the session should be created for the request.

Returns:Session

The session associated with the request or null.

Annotations
@Override
processback to summary
public boolean process(Request.Handler handler, Response response, Callback callback) throws Exception
setManagedSessionback to summary
pack-priv void setManagedSession(ManagedSession session)