public class StaticRequestFilter extends Object implements Filter
form
field, which is included in an entity
encoded in application/x-www-form-urlencoded
format if request method
is POST
, or otherwise as (additional) query parameters in the URI.
{
"method" : string [REQUIRED]
"uri" : expression [REQUIRED]
"entity" : expression [OPTIONAL - cannot be used simultaneously
with a form in POST mode* ]
"form" : object [OPTIONAL]
"headers" : object [OPTIONAL]
"version" : string [OPTIONAL]
}
*Note: When method is set to POST, the entity and the form CANNOT be used together in the heaplet because they both determine the request entity. They still can used programmatically together but the form will override any entity content.
Example of use:
{
"name": "customRequestFilter",
"type": "StaticRequestFilter",
"config": {
"method": "POST",
"uri": "http://10.10.0.2:8080/wp-login.php",
"entity": "{\"auth\":{\"passwordCredentials\":
{\"username\":\"${attributes.username}\",
\"password\":\"${attributes.password}\"}}}"
"headers": {
"Warning": [ "199 Miscellaneous warning" ]
}
}
}
Modifier and Type | Class and Description |
---|---|
static class |
StaticRequestFilter.Heaplet
Creates and initializes a request filter in a heap environment.
|
Constructor and Description |
---|
StaticRequestFilter(String method)
Builds a new
StaticRequestFilter that will uses the given HTTP method on the resource. |
Modifier and Type | Method and Description |
---|---|
StaticRequestFilter |
addFormParameter(String name,
Expression<String> value)
Adds a new form parameter using the given
key with the given Expression . |
StaticRequestFilter |
addHeaderValue(String key,
Expression<String> value)
Adds a new header value using the given
key with the given Expression . |
Promise<Response,NeverThrowsException> |
filter(Context context,
Request request,
Handler next)
Filters the request and/or response of an exchange.
|
void |
setEntity(Expression<String> entity)
Sets the message entity expression.
|
void |
setUri(Expression<String> uri)
Sets the target URI as an expression to allow dynamic URI construction.
|
void |
setVersion(String version)
Sets the new request message's version.
|
public StaticRequestFilter(String method)
StaticRequestFilter
that will uses the given HTTP method on the resource.method
- The HTTP method to be performed on the resourcepublic void setEntity(Expression<String> entity)
entity
- The message entity expression.public void setUri(Expression<String> uri)
uri
- target URI expressionpublic void setVersion(String version)
version
- Protocol version (e.g. "HTTP/1.1"
).public StaticRequestFilter addHeaderValue(String key, Expression<String> value)
key
with the given Expression
. As headers are
multi-valued objects, it's perfectly legal to call this method multiple times with the same key.key
- Header namevalue
- Expression
that represents the value of the new headerpublic StaticRequestFilter addFormParameter(String name, Expression<String> value)
key
with the given Expression
. As form parameters are
multi-valued objects, it's perfectly legal to call this method multiple times with the same key.name
- Form parameter namevalue
- Expression
that represents the value of the parameterpublic Promise<Response,NeverThrowsException> filter(Context context, Request request, Handler next)
Filter
next.handle(context, request)
.
This method may elect not to pass the request to the next filter or
handler, and instead handle the request itself. It can achieve this by
merely avoiding a call to next.handle(context, request)
and creating its own response object. The filter is also at liberty to
replace a response with another of its own by intercepting the response
returned by the next handler.
Copyright 2011-2017 ForgeRock AS.