The keys of the storeMap
will be converted into actual RegExp objects that will be used for testing.
Checks if the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.
A promise resolving if the input can be handled, rejecting with an Error if not.
Handles the given input. This may only be called if canHandle did not reject. When unconditionally calling both in sequence, consider handleSafe instead.
A promise resolving when handling is finished.
Input data that will be handled if it can be handled.
A promise resolving if the input can be handled, rejecting with an Error if not.
Finds the store corresponding to the regex that matches the given identifier. Throws an error if none is found.
Strips the base of the identifier and throws an error if there is no overlap.
Routes requests to a store based on the path of the identifier. The identifier will be stripped of the base URI after which regexes will be used to find the correct store. The trailing slash of the base URI will still be present so the first character a regex can match would be that
/
. This way regexes such as/container/
can match containers in any position.In case none of the regexes match an error will be thrown.