# description
The Martian component allows you to modify requests and responses with static data through a simple DSL definition in the configuration file.

See: https://www.krakend.io/docs/endpoints/martian/

# properties.body.Modifier.description
The body.Modifier changes or sets the body of a request or response. The body must be uncompressed and Base64 encoded.

See: https://www.krakend.io/docs/backends/martian/

# properties.body.Modifier.properties.body.description
The body you want to set, formatted in base64.

# properties.body.Modifier.properties.contentType.description
The content-type representing the body you are setting

# properties.cookie.Filter.description
The cookie.Filter executes the contained modifier when a cookie is provided under the name.

See: https://www.krakend.io/docs/backends/martian/

# properties.cookie.Filter.properties.else.description
The modifier you want to execute when the condition does not match

# properties.cookie.Filter.properties.modifier.description
The modifier you want to execute when the cookie name (and value if provided) matches

# properties.cookie.Filter.properties.name.description
The name of the Cookie you want to check. Notice that the `input_headers` must contain `Cookie` in the list when you want to check cookies sent by the client.

# properties.cookie.Filter.properties.value.description
If besides the cookie name, you set this value, it ensures the cookie has a literal match.

# properties.cookie.Modifier.description
Adds a cookie to a request or a response. If you set cookies in a response, the cookies are only set to the client when you use no-op encoding.

See: https://www.krakend.io/docs/backends/martian/

# properties.cookie.Modifier.properties.expires.description
Date in RFC 3339 format and is absolute, not relative to the current time.

# properties.cookie.Modifier.properties.httpOnly.description
Create the Cookie with the httpOnly flag. When `true`, mitigates the risk of client side script accessing the protected cookie (if the browser supports it), mitigating the Most Common XSS

# properties.cookie.Modifier.properties.maxAge.description
For how long this Cookie is valid, in seconds. `0` means that the attribute is not set. `maxAge<0` means delete cookie now

# properties.cookie.Modifier.properties.secure.description
Cookie secure flag. When `true`, the user agent will include the cookie in the request when using https only

# properties.fifo.Group.description
The fifo.Group holds a list of modifiers executed in first-in, first-out order.

See: https://www.krakend.io/docs/backends/martian/

# properties.fifo.Group.properties.aggregateErrors.description
When true, the group will continue to execute consecutive modifiers when a modifier in the group encounters an error. The Group will then return all errors returned by each modifier after all modifiers have been executed.  When false, if an error is returned by a modifier, the error is returned by ModifyRequest/Response and no further modifiers are run.

# properties.fifo.Group.properties.modifiers.description
The list of modifiers you want to execute in the declared order

# properties.header.Append.properties.name.description
Name of the header you want to append a value. Add the same name under the `input_headers` list to append more values to an existing header passed by the client. In addition, to see the header in the response, you must use `no-op`.

# properties.header.Blacklist.description
The header.Blacklist removes the listed headers under names in the request and response of the backend.

See: https://www.krakend.io/docs/backends/martian/

# properties.header.Blacklist.properties.names.description
List of all the headers you want to supress from the request or the response. If you want to see the headers in the client, you must use the `output_encoding: no-op`, and if you want the client headers to propagate to the backend, you need to use `input_headers` too.

# properties.header.Copy.description
The header.Copy lets you duplicate a header using another name

See: https://www.krakend.io/docs/backends/martian/

# properties.header.Copy.properties.from.description
The origin header you want to copy. When the header is provided by the user it must be included in the `input_headers` list.

# properties.header.Copy.properties.to.description
The destination header you want to create. If this header is returned to the end-user you must use `no-op` in the `output_encoding` of the endpoint.

# properties.header.Filter.description
The header.Filter executes its contained modifier if the request or response contain a header that matches the defined name and value. The value is optional, and only the header’s existence evaluates when undefined.

See: https://www.krakend.io/docs/backends/martian/

# properties.header.Filter.properties.else.description
The modifier you want to execute when the condition does not match

# properties.header.Filter.properties.modifier.description
The modifier you want to execute when the condition matches

# properties.header.Filter.properties.name.description
Name of the header you want to check. You must add under `input_headers` the `name` included in the filter.

# properties.header.Modifier.description
The header.Modifier adds a new header or changes the value of an existing one.

See: https://www.krakend.io/docs/backends/martian/

# properties.header.RegexFilter.description
The header.RegexFilter checks that a regular expression (RE2 syntax) passes on the target header and, if it does, executes the modifier.

See: https://www.krakend.io/docs/backends/martian/

# properties.header.RegexFilter.properties.header.description
Name of the header you want to check. You must add under `input_headers` the `name` included in the filter.

# properties.header.RegexFilter.properties.modifier.description
The modifier you want to execute when the condition matches

# properties.header.RegexFilter.properties.regex.description
The regular expression you want to check against the header value

# properties.port.Filter.description
The port.Filter executes its modifier only when the port matches the one used in the request. It does not support else.

See: https://www.krakend.io/docs/backends/martian/

# properties.port.Filter.properties.else.description
The modifier you want to execute when the condition does not match

# properties.port.Filter.properties.modifier.description
The modifier you want to execute when the condition matches

# properties.port.Modifier.description
The port.Modifier alters the request URL and Host header to use the provided port.

See: https://www.krakend.io/docs/backends/martian/

# properties.port.Modifier.properties.defaultForScheme.description
Uses the default port of the schema. `80` for `http://` or `443` for `https://`. Other schemas are ignored.

# properties.port.Modifier.properties.remove.description
Removes the port from the host string when `true`.

# properties.priority.Group.description
The priority.Group contains the modifiers you want to execute, but the order in which they are declared is unimportant. Instead, each modifier adds a priority attribute that defines the order in which they are run.

See: https://www.krakend.io/docs/backends/martian/

# properties.priority.Group.properties.modifiers.description
The list of modifiers you want to execute, order specified in the items using `priority`.

# properties.priority.Group.properties.modifiers.items.properties.modifier.description
The modifier definition you want to execute

# properties.querystring.Filter.description
The querystring.Filter executes the modifier if the request or response contains a query string parameter that matches the defined name and value in the filter.

See: https://www.krakend.io/docs/backends/martian/

# properties.querystring.Filter.properties.else.description
The modifier you want to execute when the condition does not match

# properties.querystring.Filter.properties.modifier.description
The modifier you want to execute when the condition matches

# properties.querystring.Filter.properties.name.description
Name of the query string you want to check

# properties.querystring.Filter.properties.value.description
Value of the query string you want to check

# properties.querystring.Modifier.description
The querystring.Modifier adds a new query string or modifies existing ones in the request.

See: https://www.krakend.io/docs/backends/martian/

# properties.querystring.Modifier.properties.name.description
Name of the query string you want to set

# properties.querystring.Modifier.properties.value.description
The value of the query string you want to set

# properties.stash.Modifier.description
The stash.Modifier creates a new header (or replaces an existing one with a matching name) containing the value of the original URL and all its query string parameters.

See: https://www.krakend.io/docs/backends/martian/

# properties.stash.Modifier.properties.headerName.description
The header you want to create. If this header is returned to the end-user you must use `no-op` in the `output_encoding` of the endpoint.

# properties.url.Filter.description
The url.Filter executes its contained modifier if the request URL matches all of the provided parameters.

See: https://www.krakend.io/docs/backends/martian/

# properties.url.Filter.properties.else.description
The modifier you want to execute when the condition does not match

# properties.url.Filter.properties.host.description
The literal hostname that must match, including the port

# properties.url.Filter.properties.modifier.description
The modifier you want to execute when the condition matches

# properties.url.Filter.properties.path.description
The `/path` of the URL, without query strings.

# properties.url.Filter.properties.query.description
The query strings you want to check. Use `key1=value1&key2=value2` to check that the request has exactly these keys and values (order is irrelevant, but content not). Suppose the request has more query strings than declared here because the `input_query_strings` allowed them to pass. In that case, the evaluation will be `false`, and the `else` modifier will be executed.

# properties.url.Modifier.description
The url.Modifier allows you to change the URL despite what is set in the host and url_pattern combination.

See: https://www.krakend.io/docs/backends/martian/

# properties.url.Modifier.properties.host.description
The hostname part of the URL including the port

# properties.url.Modifier.properties.query.description
Sets the query string parameters you want to pass, overwriting anything passed in the request. Notice that if you set a `query`, if the user passes other query string parameters listed under `input_query_strings`, they will be lost, and only the values passed in the modifier will be sent. For such uses, see the `querystring.Modifier`

# properties.url.RegexFilter.description
The url.RegexFilter evaluates a regular expression (RE2 syntax) and executes the modifier desired when it matches, and the modifier declared under else when it does not.

See: https://www.krakend.io/docs/backends/martian/

# properties.url.RegexFilter.properties.else.description
The modifier you want to execute when the condition does not match

# properties.url.RegexFilter.properties.modifier.description
The modifier you want to execute when the condition matches

# properties.url.RegexFilter.properties.regex.description
The regular expression you want to check against the URL