public class ResourceHandler extends Object implements Handler
ResourceHandler
is a handler that serves static content (content of a directory, or a zip).
It's using the remaining URL information provided by the UriRouterContext
to determine
the resource path to look for.
Constructor and Description |
---|
ResourceHandler(Factory<Buffer> storage,
List<ResourceSet> sets,
List<String> welcomePages)
Creates a new
ResourceHandler with the given sets of ResourceSet and the
list of welcome pages mappings. |
Modifier and Type | Method and Description |
---|---|
Promise<Response,NeverThrowsException> |
handle(Context context,
Request request)
|
public ResourceHandler(Factory<Buffer> storage, List<ResourceSet> sets, List<String> welcomePages)
ResourceHandler
with the given sets
of ResourceSet
and the
list of welcome pages mappings.storage
- the temporary storage to use to stream the resourcesets
- provide access to Resource
.welcomePages
- the list of resources name to be searched if there is
no remaining path to use in the request.public Promise<Response,NeverThrowsException> handle(Context context, Request request)
Handler
Promise
representing the asynchronous Response
of the given request
.
If any (asynchronous) processing goes wrong, the promise still contains a Response
(probably from the
4xx or 5xx status code family).
A handler that doesn't hand-off the processing to another downstream handler is responsible for creating the response.
The returned Promise
contains the response returned from the server as-is.
This is responsibility of the handler to produce the appropriate error response (404,
500, ...) in case of processing error.
Note: As of Promise 2.0 implementation, it is not permitted to throw any runtime exception here. Doing so produce unexpected behaviour (most likely a server-side hang of the processing thread).
Copyright 2011-2017 ForgeRock AS.