mirror of
https://github.com/netbirdio/plugins.git
synced 2026-05-22 18:44:07 -07:00
net/haproxy: add http-[request|response] set-var, refs #1796
This commit is contained in:
@@ -203,6 +203,28 @@
|
||||
<type>text</type>
|
||||
<help><![CDATA[Rewrites the request path. The query string, if any, is left intact. If a scheme and authority is found before the path, they are left intact as well.]]></help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Parameters</label>
|
||||
<type>header</type>
|
||||
<style>type_table table_http-request_set-var</style>
|
||||
</field>
|
||||
<field>
|
||||
<id>action.http_request_set_var_scope</id>
|
||||
<label>Variable Scope</label>
|
||||
<type>dropdown</type>
|
||||
<help><![CDATA[The name of the variable starts with an indication about its scope.]]></help>
|
||||
</field>
|
||||
<field>
|
||||
<id>action.http_request_set_var_name</id>
|
||||
<label>Variable Name</label>
|
||||
<type>text</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>action.http_request_set_var_expr</id>
|
||||
<label>Expression</label>
|
||||
<type>text</type>
|
||||
<help><![CDATA[A standard HAProxy expression formed by a sample-fetch followed by some converters.]]></help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Parameters</label>
|
||||
<type>header</type>
|
||||
@@ -310,6 +332,28 @@
|
||||
<type>text</type>
|
||||
<help><![CDATA[An optional custom reason text for the HTTP status code. If empty the default reason for the specified code will be used.]]></help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Parameters</label>
|
||||
<type>header</type>
|
||||
<style>type_table table_http-response_set-var</style>
|
||||
</field>
|
||||
<field>
|
||||
<id>action.http_response_set_var_scope</id>
|
||||
<label>Variable Scope</label>
|
||||
<type>dropdown</type>
|
||||
<help><![CDATA[The name of the variable starts with an indication about its scope.]]></help>
|
||||
</field>
|
||||
<field>
|
||||
<id>action.http_response_set_var_name</id>
|
||||
<label>Variable Name</label>
|
||||
<type>text</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>action.http_response_set_var_expr</id>
|
||||
<label>Expression</label>
|
||||
<type>text</type>
|
||||
<help><![CDATA[A standard HAProxy expression formed by a sample-fetch followed by some converters.]]></help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Parameters</label>
|
||||
<type>header</type>
|
||||
|
||||
@@ -1829,6 +1829,7 @@
|
||||
<http-request_replace-header>http-request header replace</http-request_replace-header>
|
||||
<http-request_replace-value>http-request header replace value</http-request_replace-value>
|
||||
<http-request_set-path>http-request set-path</http-request_set-path>
|
||||
<http-request_set-var>http-request set-var</http-request_set-var>
|
||||
<http-response_allow>http-response allow</http-response_allow>
|
||||
<http-response_deny>http-response deny</http-response_deny>
|
||||
<http-response_lua>http-response lua script</http-response_lua>
|
||||
@@ -1837,7 +1838,8 @@
|
||||
<http-response_del-header>http-response header delete</http-response_del-header>
|
||||
<http-response_replace-header>http-response header replace</http-response_replace-header>
|
||||
<http-response_replace-value>http-response header replace value</http-response_replace-value>
|
||||
<http-response_set-status>Set HTTP status code in response</http-response_set-status>
|
||||
<http-response_set-status>http-response set-status</http-response_set-status>
|
||||
<http-response_set-var>http-response set-var</http-response_set-var>
|
||||
<tcp-request_connection_accept>tcp-request connection accept</tcp-request_connection_accept>
|
||||
<tcp-request_connection_reject>tcp-request connection reject</tcp-request_connection_reject>
|
||||
<tcp-request_content_accept>tcp-request content accept</tcp-request_content_accept>
|
||||
@@ -1934,6 +1936,25 @@
|
||||
<mask>/^.{1,4096}$/u</mask>
|
||||
<Required>N</Required>
|
||||
</http_request_set_path>
|
||||
<http_request_set_var_scope type="OptionField">
|
||||
<Required>N</Required>
|
||||
<default>txn</default>
|
||||
<OptionValues>
|
||||
<proc>variable is shared with the whole process</proc>
|
||||
<sess>variable is shared with the whole session</sess>
|
||||
<txn>variable is shared with the transaction (request/response)</txn>
|
||||
<req>variable is shared only during request processing</req>
|
||||
<res>variable is shared only during response processing</res>
|
||||
</OptionValues>
|
||||
</http_request_set_var_scope>
|
||||
<http_request_set_var_name type="TextField">
|
||||
<mask>/^.{1,4096}$/u</mask>
|
||||
<Required>N</Required>
|
||||
</http_request_set_var_name>
|
||||
<http_request_set_var_expr type="TextField">
|
||||
<mask>/^.{1,4096}$/u</mask>
|
||||
<Required>N</Required>
|
||||
</http_request_set_var_expr>
|
||||
<http_response_lua type="TextField">
|
||||
<mask>/^.{1,4096}$/u</mask>
|
||||
<Required>N</Required>
|
||||
@@ -1984,6 +2005,25 @@
|
||||
<mask>/^.{1,4096}$/u</mask>
|
||||
<Required>N</Required>
|
||||
</http_response_set_status_reason>
|
||||
<http_response_set_var_scope type="OptionField">
|
||||
<Required>N</Required>
|
||||
<default>txn</default>
|
||||
<OptionValues>
|
||||
<proc>variable is shared with the whole process</proc>
|
||||
<sess>variable is shared with the whole session</sess>
|
||||
<txn>variable is shared with the transaction (request/response)</txn>
|
||||
<req>variable is shared only during request processing</req>
|
||||
<res>variable is shared only during response processing</res>
|
||||
</OptionValues>
|
||||
</http_response_set_var_scope>
|
||||
<http_response_set_var_name type="TextField">
|
||||
<mask>/^.{1,4096}$/u</mask>
|
||||
<Required>N</Required>
|
||||
</http_response_set_var_name>
|
||||
<http_response_set_var_expr type="TextField">
|
||||
<mask>/^.{1,4096}$/u</mask>
|
||||
<Required>N</Required>
|
||||
</http_response_set_var_expr>
|
||||
<tcp_request_content_lua type="TextField">
|
||||
<mask>/^.{1,4096}$/u</mask>
|
||||
<Required>N</Required>
|
||||
|
||||
@@ -415,6 +415,13 @@
|
||||
{% set action_enabled = '0' %}
|
||||
# ERROR: missing parameters
|
||||
{% endif %}
|
||||
{% elif action_data.type == 'http-request_set-var' %}
|
||||
{% if action_data.http_request_set_var_scope|default("") != "" and action_data.http_request_set_var_name|default("") != "" and action_data.http_request_set_var_expr|default("") != "" %}
|
||||
{% do action_options.append('http-request set-var(' ~ action_data.http_request_set_var_scope ~ '.' ~ action_data.http_request_set_var_name ~ ') ' ~ action_data.http_request_set_var_expr) %}
|
||||
{% else %}
|
||||
{% set action_enabled = '0' %}
|
||||
# ERROR: missing parameters
|
||||
{% endif %}
|
||||
{% elif action_data.type == 'http-response_allow' %}
|
||||
{% do action_options.append('http-response allow') %}
|
||||
{% elif action_data.type == 'http-response_deny' %}
|
||||
@@ -473,6 +480,13 @@
|
||||
{% set action_enabled = '0' %}
|
||||
# ERROR: missing parameters
|
||||
{% endif %}
|
||||
{% elif action_data.type == 'http-response_set-var' %}
|
||||
{% if action_data.http_response_set_var_scope|default("") != "" and action_data.http_response_set_var_name|default("") != "" and action_data.http_response_set_var_expr|default("") != "" %}
|
||||
{% do action_options.append('http-response set-var(' ~ action_data.http_response_set_var_scope ~ '.' ~ action_data.http_response_set_var_name ~ ') ' ~ action_data.http_response_set_var_expr) %}
|
||||
{% else %}
|
||||
{% set action_enabled = '0' %}
|
||||
# ERROR: missing parameters
|
||||
{% endif %}
|
||||
{% elif action_data.type == 'tcp-request_connection_accept' %}
|
||||
{% do action_options.append('tcp-request connection accept') %}
|
||||
{% elif action_data.type == 'tcp-request_connection_reject' %}
|
||||
|
||||
Reference in New Issue
Block a user