- 04 Jan 2024
- Print
- DarkLight
API
- Updated on 04 Jan 2024
- Print
- DarkLight
createDefaultEnforcedRouter
Creates a Router that has the HUMAN enforcer integrated into it already.
createDefaultEnforcedRouter(params: ConfigurationParams, originName: string) => Router
- Parameters
- params:
ConfigurationParams
- originName:
string
- params:
- Returns a Router
HumanSecurity
constructor
Creates a new instance of the HumanSecurity
class from a ConfigurationParams
object (see the configuration section for more information).
constructor(params: ConfigurationParams) => HumanSecurity
- Parameters
- params:
ConfigurationParams
- params:
- Returns a new instance of the
HumanSecurity
class
matchFirstParty
Provides the required first party path and handler parameters for the Router.match()
function.
matchFirstParty() => [string, RouteHandler]
- Returns an array whose elements are
- a string for matching HUMAN first party requests (
'/<FIRST_PARTY_PREFIXES>/:path*'
) - a RouteHandler for first party requests
- a string for matching HUMAN first party requests (
Note: Caching settings are controlled by the
Cache-Control
response header.
matchFilteredExtensions
Provides the filtered extension path and handler parameters for the Router.match()
function.
matchFilteredExtensions(originName: string) => [string, RouteHandler]
- Parameters
- originName: string
- Returns an array whose elements are
- a string for matching HUMAN requests with filtered extensions
- a RouteHandler for requests that should be filtered based on their file extensions
The path match will be a string like '/:path*/:file.:ext(jpg|css|png|...)*'
where the extensions are based px_filter_by_extension
configuration value. This function requires the originName so that requests can be proxied to the origin if they are not found in the cache.
Note: Caching settings are controlled by the
Cache-Control
response header.
createEnforcer
Creates a new Enforcer instance. For use inside the compute
function.
createEnforcer() => Enforcer
- Returns a new Enforcer instance with the configurations provided to the HumanSecurity instance
Enforcer
The entity responsible for performing HUMAN enforcement. A new Enforcer should be created using createEnforcer()
inside the function passed to the compute()
function.
enforce
Executes the enforcement functionality, returning either a response or null
depending on which action should be taken.
enforce(request: Request, response: Response) => Promise<Response | null>
postEnforce
Performs any post-enforcement processing actions and final modifications to (i.e., setting cookies or headers on) the response if needed.
postEnforce(response: Response) => Promise<void>
- Parameters
- response: Response
- Returns a Promise resolving to void
The postEnforce
function adds a Set-Cookie
header to the response, so these responses will not be cached.