Bloodhound: Expressions
Legacy Documentation
You're viewing legacy documentation for API Fortress (deployed via an on-premises container). To view documentation for the new SaaS version of API Fortress — now known as Sauce Labs API Testing and Monitoring (with Sauce Connect tunnels) — see API Testing on the Sauce Labs Cloud.
In Bloodhound actors configuration, you may find fields allowing dynamic expressions. These expressions get evaluated to generate a dynamic value.
SpEL - Spring Expression Language
The language used by Bloodhound is the Spring Expression Language.
Uses in Bloodhound
All of expressions will make use of the current message being processed. The message is accessible using the #msg
keyword.
Here's a breakdown of many internal members, accessed using SpEL.
#msg
: the current message;#msg.request()
: the request object;#msg.request().getHeader('key')
: returns a certain request header;#msg.request().payload()
: the request payload, in the form of an array of bytes;#msg.request().callId()
: the call id, as defined by the EndpointIdentifierActor#msg.response()
: when evaluating a message after the upstream phase, this expression will access the response object;#msg.response().getHeader('key')
: returns a certain response header;#msg.response().payload()
: the response payload, in the form of an array of bytes;#msg.meta()
: the metadata map;#msg.meta().getOrElse('key','defaultValue')
: returns the value of the metadata identified by the key. 'defaultValue' in case the metadata does not exist