Top Description Inners Fields Constructors Methods
org.eclipse.jetty.server.handler

public Class MovedContextHandler

extends ContextHandler
Class Inheritance
Imports
org.eclipse.jetty.http.HttpField, .HttpHeader, .HttpStatus, .HttpURI, .PreEncodedHttpField, org.eclipse.jetty.server.Request, .Response, org.eclipse.jetty.util.Callback, .URIUtil

A ContextHandler with a child Handler that redirects to a configurable URI.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

Modifier and TypeField and Description
private HttpField
private boolean
private boolean
private String
private int
Inherited from org.eclipse.jetty.server.handler.ContextHandler:
MANAGED_ATTRIBUTES

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public String

Returns:

the Cache-Control header value or null
getCacheControl
()

Get the Cache-Control header value or null.

public String

Returns:

the URI to redirect to
getRedirectURI
()

Get the URI to redirect to.

public int

Returns:

the redirect status code, by default 303
getStatusCode
()

Get the redirect status code, by default 303.

public boolean

Returns:

whether the original request pathInContext is discarded
isDiscardPathInContext
()

public boolean

Returns:

whether the original request query is discarded
isDiscardQuery
()

public void
setCacheControl(String
the Cache-Control header value or null
cacheControl
)

Set the Cache-Control header value or null.

public void
setDiscardPathInContext(boolean
whether the original request pathInContext is discarded
discardPathInContext
)

Whether to discard the original request pathInContext when building the redirect URI.

public void
setDiscardQuery(boolean
whether the original request query is discarded
discardQuery
)

Whether to discard the original request query when building the redirect URI.

public void
setRedirectURI(String
the URI to redirect to
redirectURI
)

Sets the URI to redirect to.

public void
setStatusCode(int
the redirect status code
statusCode
)

Inherited from org.eclipse.jetty.server.handler.ContextHandler:
addAliasCheckaddEventListeneraddVirtualHostscheckAliascheckVirtualHostclearAliasChecksclearAttributescreateTempDirectorydestroydoStartdoStopdumpenterScopeexitScopegetAliasChecksgetAllowNullPathInContextgetAttributegetAttributeNameSetgetBaseResourcegetClassLoadergetClassPathgetContextgetContextHandlergetContextPathgetCurrentContextgetCurrentContextgetCurrentContextHandlergetDisplayNamegetErrorHandlergetMimeTypesgetProtectedTargetsgetTempDirectorygetVirtualHostshandlehandleByContextHandlerhandleMovedPermanentlyhandleUnavailableisAvailableisProtectedTargetisTempDirectoryPersistentnewContextnotifyEnterScopenotifyExitScoperemoveAttributeremoveEventListenerremoveVirtualHostssetAliasCheckssetAllowNullPathInContextsetAttributesetAvailablesetBaseResourcesetBaseResourceAsPathsetBaseResourceAsStringsetClassLoadersetContextPathsetDisplayNamesetErrorHandlersetProtectedTargetssetServersetTempDirectorysetTempDirectoryPersistentsetVirtualHoststoStringwrapRequestwrapResponse

Field Detail

_cacheControlback to summary
private HttpField _cacheControl
_discardPathInContextback to summary
private boolean _discardPathInContext
_discardQueryback to summary
private boolean _discardQuery
_redirectURIback to summary
private String _redirectURI
_statusCodeback to summary
private int _statusCode

Constructor Detail

MovedContextHandlerback to summary
public MovedContextHandler()

Method Detail

getCacheControlback to summary
public String getCacheControl()

Get the Cache-Control header value or null.

Returns:String

the Cache-Control header value or null

getRedirectURIback to summary
public String getRedirectURI()

Get the URI to redirect to.

Returns:String

the URI to redirect to

getStatusCodeback to summary
public int getStatusCode()

Get the redirect status code, by default 303.

Returns:int

the redirect status code, by default 303

isDiscardPathInContextback to summary
public boolean isDiscardPathInContext()
Returns:boolean

whether the original request pathInContext is discarded

isDiscardQueryback to summary
public boolean isDiscardQuery()
Returns:boolean

whether the original request query is discarded

setCacheControlback to summary
public void setCacheControl(String cacheControl)

Set the Cache-Control header value or null.

Parameters
cacheControl:String

the Cache-Control header value or null

setDiscardPathInContextback to summary
public void setDiscardPathInContext(boolean discardPathInContext)

Whether to discard the original request pathInContext when building the redirect URI.

Parameters
discardPathInContext:boolean

whether the original request pathInContext is discarded

See Also
setRedirectURI(String)
setDiscardQueryback to summary
public void setDiscardQuery(boolean discardQuery)

Whether to discard the original request query when building the redirect URI.

Parameters
discardQuery:boolean

whether the original request query is discarded

setRedirectURIback to summary
public void setRedirectURI(String redirectURI)

Sets the URI to redirect to.

If the redirect URI is not absolute, the original request scheme and authority will be used to build the redirect URI.

The original request pathInContext will be appended to the redirect URI path, unless isDiscardPathInContext().

The original request query will be preserved in the redirect URI, unless isDiscardQuery().

Parameters
redirectURI:String

the URI to redirect to

setStatusCodeback to summary
public void setStatusCode(int statusCode)
Parameters
statusCode:int

the redirect status code

Exceptions
IllegalArgumentException:
if the status code is not of type redirect (3xx)
org.eclipse.jetty.server.handler back to summary

private Class MovedContextHandler.Redirector

extends Abstract
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
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.

Inherited from org.eclipse.jetty.server.Handler.Abstract:
destroydoStartdoStopgetInvocationTypegetServersetServer

Constructor Detail

Redirectorback to summary
private Redirector()

Method Detail

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.