Class ResourceHandler
- java.lang.Object
-
- org.forgerock.openig.handler.resources.ResourceHandler
-
- All Implemented Interfaces:
Handler
public class ResourceHandler extends Object implements Handler
AResourceHandler
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.] } }
{ "type": "ResourceHandler", "name": "StaticWebsite", "config": { "directories" : ["/path/to/static/pages"], "basePath" : "website", "welcomePages" : ["index.html"] } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ResourceHandler.Heaplet
Creates and initializes a ResourceHandler in a heap environment.
-
Constructor Summary
Constructors Constructor Description ResourceHandler(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Promise<Response,NeverThrowsException>
handle(Context context, Request request)
-
-
-
Constructor Detail
-
ResourceHandler
public ResourceHandler(Factory<Buffer> storage, List<ResourceSet> sets, List<String> welcomePages)
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 Detail
-
handle
public Promise<Response,NeverThrowsException> handle(Context context, Request request)
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).
-
-