|
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | 4 | <meta charset="utf-8" /> |
5 | | - <title>HAProxy version 3.4-dev2-64 - Configuration Manual</title> |
| 5 | + <title>HAProxy version 3.4-dev2-72 - Configuration Manual</title> |
6 | 6 | <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> |
7 | 7 | <link href="https://raw.githubusercontent.com/thomaspark/bootswatch/v3.3.7/cerulean/bootstrap.min.css" rel="stylesheet" /> |
8 | 8 | <link href="../css/page.css?0.4.2-15" rel="stylesheet" /> |
|
1846 | 1846 |
|
1847 | 1847 | <a class="list-group-item" href="#dst_port">dst_port</a> |
1848 | 1848 |
|
| 1849 | + <a class="list-group-item" href="#dump_all_vars">dump_all_vars</a> |
| 1850 | + |
1849 | 1851 | <a class="list-group-item" href="#dynamic-cookie-key">dynamic-cookie-key</a> |
1850 | 1852 |
|
1851 | 1853 | </div> <!-- /letter --> |
|
4779 | 4781 | You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br> |
4780 | 4782 | </p> |
4781 | 4783 | <p class="text-right"> |
4782 | | - <small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/01/20</b></small> |
| 4784 | + <small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/01/21</b></small> |
4783 | 4785 | </p> |
4784 | 4786 | </div> |
4785 | 4787 | <!-- /.sidebar --> |
|
4790 | 4792 | <div class="text-center"> |
4791 | 4793 | <h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1> |
4792 | 4794 | <h2>Configuration Manual</h2> |
4793 | | - <p><strong>version 3.4-dev2-64</strong></p> |
| 4795 | + <p><strong>version 3.4-dev2-72</strong></p> |
4794 | 4796 | <p> |
4795 | 4797 | 2026/01/07<br> |
4796 | 4798 |
|
@@ -27267,7 +27269,89 @@ <h3 id="chapter-7.3.2" data-target="7.3.2"><small><a class="small" href="#7.3.2" |
27267 | 27269 | sample fetch fails, unless a default value is provided, in which case it will |
27268 | 27270 | return it as a string. Empty strings are permitted. See <a href="#2.8">section 2.8</a> about |
27269 | 27271 | variables for details. |
27270 | | -</pre><a class="anchor" name="wait_end"></a><a class="anchor" name="7-wait_end"></a><a class="anchor" name="7.3.2-wait_end"></a><a class="anchor" name="wait_end (Using ACLs and fetching samples)"></a><a class="anchor" name="wait_end (Fetching samples from internal states)"></a><div class="keyword"><b><a class="anchor" name="wait_end"></a><a href="#7.3.2-wait_end">wait_end</a></b> : boolean</div><pre class="text">This fetch either returns true when the inspection period is over, or does |
| 27272 | +</pre><a class="anchor" name="dump_all_vars"></a><a class="anchor" name="7-dump_all_vars"></a><a class="anchor" name="7.3.2-dump_all_vars"></a><a class="anchor" name="dump_all_vars (Using ACLs and fetching samples)"></a><a class="anchor" name="dump_all_vars (Fetching samples from internal states)"></a><div class="keyword"><b><a class="anchor" name="dump_all_vars"></a><a href="#7.3.2-dump_all_vars">dump_all_vars</a></b>(<span style="color: #008">[<span style="color: #080"><scope></span>]</span><span style="color: #008">[,<span style="color: #080"><prefix></span>]</span><span style="color: #008">[,<span style="color: #080"><delimiter></span>]</span>) : string</div><pre class="text">Returns a list of all variables in the specified scope, optionally filtered |
| 27273 | +by name prefix and with a customizable delimiter. |
| 27274 | + |
| 27275 | +Output format: var1=value1<delim>var2=value2<delim>... |
| 27276 | + |
| 27277 | +Value encoding by type: |
| 27278 | +- Strings: quoted and escaped (", \, \r, \n, \b, \0) |
| 27279 | +</pre><div class="separator"> |
| 27280 | +<span class="label label-success">Example:</span> |
| 27281 | +<pre class="prettyprint"> |
| 27282 | +<div class="example-desc">txn.name="John \"Doe\""</div><code></code></pre> |
| 27283 | +</div><pre class="text">- Binary: hex-encoded with 'x' prefix, unquoted |
| 27284 | +</pre><div class="separator"> |
| 27285 | +<span class="label label-success">Example:</span> |
| 27286 | +<pre class="prettyprint"> |
| 27287 | +<div class="example-desc">txn.data=x48656c6c6f</div><code></code></pre> |
| 27288 | +</div><pre class="text">- Integers: unquoted decimal |
| 27289 | +</pre><div class="separator"> |
| 27290 | +<span class="label label-success">Example:</span> |
| 27291 | +<pre class="prettyprint"> |
| 27292 | +<div class="example-desc">txn.count=42</div><code></code></pre> |
| 27293 | +</div><pre class="text">- Booleans: unquoted "true" or "false" |
| 27294 | +</pre><div class="separator"> |
| 27295 | +<span class="label label-success">Example:</span> |
| 27296 | +<pre class="prettyprint"> |
| 27297 | +<div class="example-desc">txn.active=true</div><code></code></pre> |
| 27298 | +</div><pre class="text">- Addresses: unquoted IP address string |
| 27299 | +</pre><div class="separator"> |
| 27300 | +<span class="label label-success">Example:</span> |
| 27301 | +<pre class="prettyprint"> |
| 27302 | +<div class="example-desc">txn.client=192.168.1.1</div><code></code></pre> |
| 27303 | +</div><pre class="text">- HTTP Methods: quoted string |
| 27304 | +</pre><div class="separator"> |
| 27305 | +<span class="label label-success">Example:</span> |
| 27306 | +<pre class="prettyprint"> |
| 27307 | +<div class="example-desc">req.method="GET"</div><code></code></pre> |
| 27308 | +</div><div class="separator"> |
| 27309 | +<span class="label label-info">Arguments:</span></div> |
| 27310 | +<pre class="text">- <scope> (optional): sess, txn, req, res, or proc. If omitted, all these |
| 27311 | + scopes are visited in the same order as presented here. |
| 27312 | + |
| 27313 | +- <prefix> (optional): filters variables whose names start with the |
| 27314 | + specified prefix (after removing the scope prefix). |
| 27315 | + Performance note: When using prefix filtering, all variables in the scope |
| 27316 | + are still visited. This should not be used with configurations involving |
| 27317 | + thousands of variables. |
| 27318 | + |
| 27319 | +- <delimiter> (optional): string to separate variables. Defaults to ", " |
| 27320 | + (comma-space). Can be customized to any string. As a reminder, in order |
| 27321 | + to pass commas or spaces in a function argument, they need to be enclosed |
| 27322 | + in simple or double quotes (if the expression itself is already within |
| 27323 | + quotes, use the other ones). |
| 27324 | + |
| 27325 | +Return value: |
| 27326 | +- On success: string containing all matching variables |
| 27327 | +- On failure: empty (sample fetch fails) if output buffer is too small. |
| 27328 | + The function will not truncate output; it fails completely to avoid |
| 27329 | + partial data. |
| 27330 | + |
| 27331 | +This is particularly useful for debugging, logging, or exporting variable |
| 27332 | +states. |
| 27333 | +</pre><div class="separator"> |
| 27334 | +<span class="label label-success">Examples:</span> |
| 27335 | +<pre class="prettyprint"> |
| 27336 | +<code><span class="comment"># Dump all transaction variables</span> |
| 27337 | +http-request return string %[dump_all_vars(txn)] |
| 27338 | + |
| 27339 | +<span class="comment"># Dump only variables starting with "<span class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">user<span class="caret"></span></a><ul class="dropdown-menu"><li class="dropdown-header">This keyword is available in sections :</li><li><a href="#user%20%28Userlists%29">Userlists</a></li><li><a href="#user%20%28Process%20management%20and%20security%29">Process management and security</a></li><li><a href="#user%20%28Bind%20options%29">Bind options</a></li></ul></span>"</span> |
| 27340 | +http-request set-header X-User-Vars "%[dump_all_vars(txn,user)]" |
| 27341 | + |
| 27342 | +<span class="comment"># Dump all process variables</span> |
| 27343 | +http-request return string %[dump_all_vars(proc)] |
| 27344 | + |
| 27345 | +<span class="comment"># Custom delimiter (semicolon)</span> |
| 27346 | +http-request set-header X-Vars "%[dump_all_vars(txn,,; )]" |
| 27347 | + |
| 27348 | +<span class="comment"># Force the default delimiter (comma space)</span> |
| 27349 | +http-request set-header X-Vars "%[dump_all_vars(txn,,', ')]" |
| 27350 | + |
| 27351 | +<span class="comment"># Prefix filter with custom delimiter</span> |
| 27352 | +http-request set-header X-Session "%[dump_all_vars(sess,user,|)]" |
| 27353 | +</code></pre> |
| 27354 | +</div><a class="anchor" name="wait_end"></a><a class="anchor" name="7-wait_end"></a><a class="anchor" name="7.3.2-wait_end"></a><a class="anchor" name="wait_end (Using ACLs and fetching samples)"></a><a class="anchor" name="wait_end (Fetching samples from internal states)"></a><div class="keyword"><b><a class="anchor" name="wait_end"></a><a href="#7.3.2-wait_end">wait_end</a></b> : boolean</div><pre class="text">This fetch either returns true when the inspection period is over, or does |
27271 | 27355 | not fetch. It is only used in ACLs, in conjunction with content analysis to |
27272 | 27356 | avoid returning a wrong verdict early. It may also be used to delay some |
27273 | 27357 | actions, such as a delayed reject for some special addresses. Since it either |
@@ -34394,7 +34478,7 @@ <h2 id="chapter-12.8" data-target="12.8"><small><a class="small" href="#12.8">12 |
34394 | 34478 | <br> |
34395 | 34479 | <hr> |
34396 | 34480 | <div class="text-right"> |
34397 | | - HAProxy 3.4-dev2-64 – Configuration Manual<br> |
| 34481 | + HAProxy 3.4-dev2-72 – Configuration Manual<br> |
34398 | 34482 | <small>, 2026/01/07</small> |
34399 | 34483 | </div> |
34400 | 34484 | </div> |
|
0 commit comments