Executed when a request is made to a file, like so:
.Request
file located on the target file’s type chain, and.Request
file executed.All input data will be passed in on a temporary request
file.
Any HTTP GET
or POST
parameters will be accessible as string attributes of
the request file. In case the user uploaded some files with the same request,
those will be accessible to you at //request/files/NAME/FILE
, where NAME
is
the variable name, FILE is the uploaded file. Multiple files are supported for
each variable name.
The following files are injected in an isolated VM at runtime:
f - file specified by the request PATH
source - pointer to the .Request file being executed
request - access request parameters and HTTP request body, uploaded files
response - decorate for returning a response
Note: in the sjs-3 interpreter, these files are accessible as variables. You can use them to access the entire filesystem.
To return a HTTP response, decorate the response
file.
Interface summary:
- response file body
- response file statusCode property
- response file string attribute `content-type`
- response file string attribute `content-security-policy`
- response file string attribute `location`
The response file’s body will translate to the HTTP response body.
The response file’s statusCode
property. If 0
, defaults to 200
.
When the location
string attribute is set, defaults to 301
.
The response file’s string attribute content-type
will translate to the HTTP
header Content-Type
.
For common text based content-types, like text/html
or text/css
, if you ommit
the charset, Boomla will automatically expand it for you. Boomla uses UTF-8
character encoding internally and also defaults to this charset for responses.
Set the response file’s string attribute location
to the desired URL.
If you leave the response file’s statusCode 0, it will default to temporary
redirection with statusCode 303
.
Alternatively, you can set the statusCode to 301
and the HTTP response
status-code, caching and search-engine-juice passing will be automatically
handled for you. Of course, you can also set a different 3xx
statusCode.
The string attribute content-security-policy
is used to populate the
Content-Security-Policy
HTTP header, which allows embedding 3rd party
resources in your website or embedding your resources in 3rd party sites.
Note: Boomla will pick automatically load any Content-Security-Policy rules
from the first .ContentSecurityPolicy
file on the target file’s type chain,
and set the rules on the response
file before executing the .Request method.
See the docs of the .ContentSecurityPolicy file for more details.
Boomla is a platform built to simplify web development. The goal of a platform is to centralize the solution of common problems.
Boomla does the following post-processing to text/html
responses:
.RequestStyle
,Post-processing that applies to all responses: