Class ResourceHandler
java.lang.Object
org.forgerock.openig.handler.resources.ResourceHandler
- All Implemented Interfaces:
Handler
A
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.
Configuration options:
{
"type": "ResourceHandler",
"config": {
"directories" : array of strings, [REQUIRED - the list of directories to be searched when
looking up static content to be served.]
"basePath" : string, [OPTIONAL - default to "", required if the route
is anything other than /.]
"welcomePages" : array of strings, [OPTIONAL - default to empty list. Represents a set of
static content that should be served from
one of the specified directories when no
specific resource is requested.]
}
}
For example:
{
"type": "ResourceHandler",
"name": "StaticWebsite",
"config": {
"directories" : ["/path/to/static/pages"],
"basePath" : "website",
"welcomePages" : ["index.html"]
}
}
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Creates and initializes a ResourceHandler in a heap environment. -
Constructor Summary
ConstructorDescriptionResourceHandler
(Factory<Buffer> storage, List<ResourceSet> sets, List<String> welcomePages) Creates a newResourceHandler
with the givensets
ofResourceSet
and the list of welcome pages mappings. -
Method Summary
-
Constructor Details
-
ResourceHandler
Creates a newResourceHandler
with the givensets
ofResourceSet
and the list of welcome pages mappings.- Parameters:
storage
- the temporary storage to use to stream the resourcesets
- provide access toResource
.welcomePages
- the list of resources name to be searched if there is no remaining path to use in the request.
-
-
Method Details
-
handle
Description copied from interface:Handler
Returns aPromise
representing the asynchronousResponse
of the givenrequest
. If any (asynchronous) processing goes wrong, the promise still contains aResponse
(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).
-