:initialize-context
is the first action performed when a request
is being handled — its purpose is to allow additional values to be
inserted into the context (in addition to the standard
:representation
, :request
and :resource
keys — see
the execution model documentation) before the
request is processed further. Note that this action should not, in
general, modify the state of the server — it is intended solely to
provide a convenient way to thread additional values through the
execution flow.
The processing of PUT
, DELETE
, POST
and
PATCH
methods typically results in a changed state on the
server-side. After the state was changed either an updated
representation of the changed entity is returned to the client, or one
of the status codes that redirect the client to a different locations
is returned.
Liberator provides so called action functions that you can declare with your resource definitions which are called at well suited points during request processing.
actions | description |
---|---|
:initialize-context | first function to be called. Can be used to initialize the context since 0.14.0 |
:post! | called for POST requests |
:put! | called for PUT requests |
:delete! | called for DELETE requests |
:patch! | called for PATCH requests |
The action :initialize-context
is the first callback called for
a resource. It’s a convenient place to initialize the resource for
every request and seed the context with data.
The action functions are called after content negotiation, existence checks and conditional request processing – just before deciding on actual the response type: including an entity, redirection etc.
You can spot the actions on the decision graph as the round nodes.