Add option to configure max-time per request
This commit is contained in:
parent
324d2a2ad7
commit
fe1e2e0894
|
|
@ -1352,7 +1352,7 @@ will follow a redirection only for the second entry.
|
||||||
| <a href="#location-trusted" id="location-trusted"><code>--location-trusted</code></a> | Like [`-L, --location`](#location), but allows sending the name + password to all hosts that the site may redirect to.<br>This may or may not introduce a security breach if the site redirects you to a site to which you send your authentication info (which is plaintext in the case of HTTP Basic authentication).<br> |
|
| <a href="#location-trusted" id="location-trusted"><code>--location-trusted</code></a> | Like [`-L, --location`](#location), but allows sending the name + password to all hosts that the site may redirect to.<br>This may or may not introduce a security breach if the site redirects you to a site to which you send your authentication info (which is plaintext in the case of HTTP Basic authentication).<br> |
|
||||||
| <a href="#max-filesize" id="max-filesize"><code>--max-filesize <BYTES></code></a> | Specify the maximum size in bytes of a file to download. If the file requested is larger than this value, the transfer does not start.<br><br>This is a cli-only option.<br> |
|
| <a href="#max-filesize" id="max-filesize"><code>--max-filesize <BYTES></code></a> | Specify the maximum size in bytes of a file to download. If the file requested is larger than this value, the transfer does not start.<br><br>This is a cli-only option.<br> |
|
||||||
| <a href="#max-redirs" id="max-redirs"><code>--max-redirs <NUM></code></a> | Set maximum number of redirection-followings allowed<br><br>By default, the limit is set to 50 redirections. Set this option to -1 to make it unlimited.<br> |
|
| <a href="#max-redirs" id="max-redirs"><code>--max-redirs <NUM></code></a> | Set maximum number of redirection-followings allowed<br><br>By default, the limit is set to 50 redirections. Set this option to -1 to make it unlimited.<br> |
|
||||||
| <a href="#max-time" id="max-time"><code>-m, --max-time <SECONDS></code></a> | Maximum time in seconds that you allow a request/response to take. This is the standard timeout.<br><br>You can specify time units in the maximum time expression. Set Hurl to use a maximum time of 20 seconds with `--max-time 20s` or set it to 35,000 milliseconds with `--max-time 35000ms`. No spaces allowed.<br><br>See also [`--connect-timeout`](#connect-timeout).<br><br>This is a cli-only option.<br> |
|
| <a href="#max-time" id="max-time"><code>-m, --max-time <SECONDS></code></a> | Maximum time in seconds that you allow a request/response to take. This is the standard timeout.<br><br>You can specify time units in the maximum time expression. Set Hurl to use a maximum time of 20 seconds with `--max-time 20s` or set it to 35,000 milliseconds with `--max-time 35000ms`. No spaces allowed.<br><br>See also [`--connect-timeout`](#connect-timeout). |
|
||||||
| <a href="#netrc" id="netrc"><code>-n, --netrc</code></a> | Scan the .netrc file in the user's home directory for the username and password.<br><br>See also [`--netrc-file`](#netrc-file) and [`--netrc-optional`](#netrc-optional).<br> |
|
| <a href="#netrc" id="netrc"><code>-n, --netrc</code></a> | Scan the .netrc file in the user's home directory for the username and password.<br><br>See also [`--netrc-file`](#netrc-file) and [`--netrc-optional`](#netrc-optional).<br> |
|
||||||
| <a href="#netrc-file" id="netrc-file"><code>--netrc-file <FILE></code></a> | Like [`--netrc`](#netrc), but provide the path to the netrc file.<br><br>See also [`--netrc-optional`](#netrc-optional).<br> |
|
| <a href="#netrc-file" id="netrc-file"><code>--netrc-file <FILE></code></a> | Like [`--netrc`](#netrc), but provide the path to the netrc file.<br><br>See also [`--netrc-optional`](#netrc-optional).<br> |
|
||||||
| <a href="#netrc-optional" id="netrc-optional"><code>--netrc-optional</code></a> | Similar to [`--netrc`](#netrc), but make the .netrc usage optional.<br><br>See also [`--netrc-file`](#netrc-file).<br> |
|
| <a href="#netrc-optional" id="netrc-optional"><code>--netrc-optional</code></a> | Similar to [`--netrc`](#netrc), but make the .netrc usage optional.<br><br>See also [`--netrc-file`](#netrc-file).<br> |
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ Short description:
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="assert">assert</span><span class="grammar-usedby">(used by <a href="#asserts-section">asserts-section</a>)</span></div><div class="grammar-rule-expression"><a href="#lt">lt</a><span class="grammar-symbol">*</span><br>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="assert">assert</span><span class="grammar-usedby">(used by <a href="#asserts-section">asserts-section</a>)</span></div><div class="grammar-rule-expression"><a href="#lt">lt</a><span class="grammar-symbol">*</span><br>
|
||||||
<a href="#query">query</a> <span class="grammar-symbol">(</span><a href="#sp">sp</a> <a href="#filter">filter</a><span class="grammar-symbol">)</span><span class="grammar-symbol">*</span> <a href="#sp">sp</a> <a href="#predicate">predicate</a> <a href="#lt">lt</a></div></div>
|
<a href="#query">query</a> <span class="grammar-symbol">(</span><a href="#sp">sp</a> <a href="#filter">filter</a><span class="grammar-symbol">)</span><span class="grammar-symbol">*</span> <a href="#sp">sp</a> <a href="#predicate">predicate</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="option">option</span><span class="grammar-usedby">(used by <a href="#options-section">options-section</a>)</span></div><div class="grammar-rule-expression"><a href="#lt">lt</a><span class="grammar-symbol">*</span><br>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="option">option</span><span class="grammar-usedby">(used by <a href="#options-section">options-section</a>)</span></div><div class="grammar-rule-expression"><a href="#lt">lt</a><span class="grammar-symbol">*</span><br>
|
||||||
<span class="grammar-symbol">(</span><a href="#aws-sigv4-option">aws-sigv4-option</a><span class="grammar-symbol">|</span><a href="#ca-certificate-option">ca-certificate-option</a><span class="grammar-symbol">|</span><a href="#client-certificate-option">client-certificate-option</a><span class="grammar-symbol">|</span><a href="#client-key-option">client-key-option</a><span class="grammar-symbol">|</span><a href="#compressed-option">compressed-option</a><span class="grammar-symbol">|</span><a href="#connect-to-option">connect-to-option</a><span class="grammar-symbol">|</span><a href="#connect-timeout-option">connect-timeout-option</a><span class="grammar-symbol">|</span><a href="#delay-option">delay-option</a><span class="grammar-symbol">|</span><a href="#follow-redirect-option">follow-redirect-option</a><span class="grammar-symbol">|</span><a href="#follow-redirect-trusted-option">follow-redirect-trusted-option</a><span class="grammar-symbol">|</span><a href="#header-option">header-option</a><span class="grammar-symbol">|</span><a href="#http10-option">http10-option</a><span class="grammar-symbol">|</span><a href="#http11-option">http11-option</a><span class="grammar-symbol">|</span><a href="#http2-option">http2-option</a><span class="grammar-symbol">|</span><a href="#http3-option">http3-option</a><span class="grammar-symbol">|</span><a href="#insecure-option">insecure-option</a><span class="grammar-symbol">|</span><a href="#ipv4-option">ipv4-option</a><span class="grammar-symbol">|</span><a href="#ipv6-option">ipv6-option</a><span class="grammar-symbol">|</span><a href="#limit-rate-option">limit-rate-option</a><span class="grammar-symbol">|</span><a href="#max-redirs-option">max-redirs-option</a><span class="grammar-symbol">|</span><a href="#netrc-option">netrc-option</a><span class="grammar-symbol">|</span><a href="#netrc-file-option">netrc-file-option</a><span class="grammar-symbol">|</span><a href="#netrc-optional-option">netrc-optional-option</a><span class="grammar-symbol">|</span><a href="#output-option">output-option</a><span class="grammar-symbol">|</span><a href="#path-as-is-option">path-as-is-option</a><span class="grammar-symbol">|</span><a href="#proxy-option">proxy-option</a><span class="grammar-symbol">|</span><a href="#repeat-option">repeat-option</a><span class="grammar-symbol">|</span><a href="#resolve-option">resolve-option</a><span class="grammar-symbol">|</span><a href="#retry-option">retry-option</a><span class="grammar-symbol">|</span><a href="#retry-interval-option">retry-interval-option</a><span class="grammar-symbol">|</span><a href="#skip-option">skip-option</a><span class="grammar-symbol">|</span><a href="#unix-socket-option">unix-socket-option</a><span class="grammar-symbol">|</span><a href="#user-option">user-option</a><span class="grammar-symbol">|</span><a href="#variable-option">variable-option</a><span class="grammar-symbol">|</span><a href="#verbose-option">verbose-option</a><span class="grammar-symbol">|</span><a href="#very-verbose-option">very-verbose-option</a><span class="grammar-symbol">)</span></div></div>
|
<span class="grammar-symbol">(</span><a href="#aws-sigv4-option">aws-sigv4-option</a><span class="grammar-symbol">|</span><a href="#ca-certificate-option">ca-certificate-option</a><span class="grammar-symbol">|</span><a href="#client-certificate-option">client-certificate-option</a><span class="grammar-symbol">|</span><a href="#client-key-option">client-key-option</a><span class="grammar-symbol">|</span><a href="#compressed-option">compressed-option</a><span class="grammar-symbol">|</span><a href="#connect-to-option">connect-to-option</a><span class="grammar-symbol">|</span><a href="#connect-timeout-option">connect-timeout-option</a><span class="grammar-symbol">|</span><a href="#delay-option">delay-option</a><span class="grammar-symbol">|</span><a href="#follow-redirect-option">follow-redirect-option</a><span class="grammar-symbol">|</span><a href="#follow-redirect-trusted-option">follow-redirect-trusted-option</a><span class="grammar-symbol">|</span><a href="#header-option">header-option</a><span class="grammar-symbol">|</span><a href="#http10-option">http10-option</a><span class="grammar-symbol">|</span><a href="#http11-option">http11-option</a><span class="grammar-symbol">|</span><a href="#http2-option">http2-option</a><span class="grammar-symbol">|</span><a href="#http3-option">http3-option</a><span class="grammar-symbol">|</span><a href="#insecure-option">insecure-option</a><span class="grammar-symbol">|</span><a href="#ipv4-option">ipv4-option</a><span class="grammar-symbol">|</span><a href="#ipv6-option">ipv6-option</a><span class="grammar-symbol">|</span><a href="#limit-rate-option">limit-rate-option</a><span class="grammar-symbol">|</span><a href="#max-redirs-option">max-redirs-option</a><span class="grammar-symbol">|</span><a href="#max-time-option">max-time-option</a><span class="grammar-symbol">|</span><a href="#netrc-option">netrc-option</a><span class="grammar-symbol">|</span><a href="#netrc-file-option">netrc-file-option</a><span class="grammar-symbol">|</span><a href="#netrc-optional-option">netrc-optional-option</a><span class="grammar-symbol">|</span><a href="#output-option">output-option</a><span class="grammar-symbol">|</span><a href="#path-as-is-option">path-as-is-option</a><span class="grammar-symbol">|</span><a href="#proxy-option">proxy-option</a><span class="grammar-symbol">|</span><a href="#repeat-option">repeat-option</a><span class="grammar-symbol">|</span><a href="#resolve-option">resolve-option</a><span class="grammar-symbol">|</span><a href="#retry-option">retry-option</a><span class="grammar-symbol">|</span><a href="#retry-interval-option">retry-interval-option</a><span class="grammar-symbol">|</span><a href="#skip-option">skip-option</a><span class="grammar-symbol">|</span><a href="#unix-socket-option">unix-socket-option</a><span class="grammar-symbol">|</span><a href="#user-option">user-option</a><span class="grammar-symbol">|</span><a href="#variable-option">variable-option</a><span class="grammar-symbol">|</span><a href="#verbose-option">verbose-option</a><span class="grammar-symbol">|</span><a href="#very-verbose-option">very-verbose-option</a><span class="grammar-symbol">)</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="aws-sigv4-option">aws-sigv4-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">aws-sigv4</span> <span class="grammar-literal">:</span> <a href="#value-string">value-string</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="aws-sigv4-option">aws-sigv4-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">aws-sigv4</span> <span class="grammar-literal">:</span> <a href="#value-string">value-string</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="ca-certificate-option">ca-certificate-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">cacert</span> <span class="grammar-literal">:</span> <a href="#filename">filename</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="ca-certificate-option">ca-certificate-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">cacert</span> <span class="grammar-literal">:</span> <a href="#filename">filename</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="client-certificate-option">client-certificate-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">cert</span> <span class="grammar-literal">:</span> <a href="#filename-password">filename-password</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="client-certificate-option">client-certificate-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">cert</span> <span class="grammar-literal">:</span> <a href="#filename-password">filename-password</a> <a href="#lt">lt</a></div></div>
|
||||||
|
|
@ -98,6 +98,7 @@ Short description:
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="ipv6-option">ipv6-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">ipv6</span> <span class="grammar-literal">:</span> <a href="#boolean-option">boolean-option</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="ipv6-option">ipv6-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">ipv6</span> <span class="grammar-literal">:</span> <a href="#boolean-option">boolean-option</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="limit-rate-option">limit-rate-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">limit-rate</span> <span class="grammar-literal">:</span> <a href="#integer-option">integer-option</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="limit-rate-option">limit-rate-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">limit-rate</span> <span class="grammar-literal">:</span> <a href="#integer-option">integer-option</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="max-redirs-option">max-redirs-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">max-redirs</span> <span class="grammar-literal">:</span> <a href="#integer-option">integer-option</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="max-redirs-option">max-redirs-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">max-redirs</span> <span class="grammar-literal">:</span> <a href="#integer-option">integer-option</a> <a href="#lt">lt</a></div></div>
|
||||||
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="max-time-option">max-time-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">max-time</span> <span class="grammar-literal">:</span> <a href="#integer-option">integer-option</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="netrc-option">netrc-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">netrc</span> <span class="grammar-literal">:</span> <a href="#boolean-option">boolean-option</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="netrc-option">netrc-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">netrc</span> <span class="grammar-literal">:</span> <a href="#boolean-option">boolean-option</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="netrc-file-option">netrc-file-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">netrc-file</span> <span class="grammar-literal">:</span> <a href="#value-string">value-string</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="netrc-file-option">netrc-file-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">netrc-file</span> <span class="grammar-literal">:</span> <a href="#value-string">value-string</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="netrc-optional-option">netrc-optional-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">netrc-optional</span> <span class="grammar-literal">:</span> <a href="#boolean-option">boolean-option</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="netrc-optional-option">netrc-optional-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">netrc-optional</span> <span class="grammar-literal">:</span> <a href="#boolean-option">boolean-option</a> <a href="#lt">lt</a></div></div>
|
||||||
|
|
@ -116,7 +117,7 @@ Short description:
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="very-verbose-option">very-verbose-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">very-verbose</span> <span class="grammar-literal">:</span> <a href="#boolean-option">boolean-option</a> <a href="#lt">lt</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="very-verbose-option">very-verbose-option</span><span class="grammar-usedby">(used by <a href="#option">option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">very-verbose</span> <span class="grammar-literal">:</span> <a href="#boolean-option">boolean-option</a> <a href="#lt">lt</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="variable-definition">variable-definition</span><span class="grammar-usedby">(used by <a href="#variable-option">variable-option</a>)</span></div><div class="grammar-rule-expression"><a href="#variable-name">variable-name</a> <span class="grammar-literal">=</span> <a href="#variable-value">variable-value</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="variable-definition">variable-definition</span><span class="grammar-usedby">(used by <a href="#variable-option">variable-option</a>)</span></div><div class="grammar-rule-expression"><a href="#variable-name">variable-name</a> <span class="grammar-literal">=</span> <a href="#variable-value">variable-value</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="boolean-option">boolean-option</span><span class="grammar-usedby">(used by <a href="#compressed-option">compressed-option</a>, <a href="#follow-redirect-option">follow-redirect-option</a>, <a href="#follow-redirect-trusted-option">follow-redirect-trusted-option</a>, <a href="#http10-option">http10-option</a>, <a href="#http11-option">http11-option</a>, <a href="#http2-option">http2-option</a>, <a href="#http3-option">http3-option</a>, <a href="#insecure-option">insecure-option</a>, <a href="#ipv4-option">ipv4-option</a>, <a href="#ipv6-option">ipv6-option</a>, <a href="#netrc-option">netrc-option</a>, <a href="#netrc-optional-option">netrc-optional-option</a>, <a href="#path-as-is-option">path-as-is-option</a>, <a href="#skip-option">skip-option</a>, <a href="#verbose-option">verbose-option</a>, <a href="#very-verbose-option">very-verbose-option</a>)</span></div><div class="grammar-rule-expression"><a href="#boolean">boolean</a><span class="grammar-symbol">|</span><a href="#placeholder">placeholder</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="boolean-option">boolean-option</span><span class="grammar-usedby">(used by <a href="#compressed-option">compressed-option</a>, <a href="#follow-redirect-option">follow-redirect-option</a>, <a href="#follow-redirect-trusted-option">follow-redirect-trusted-option</a>, <a href="#http10-option">http10-option</a>, <a href="#http11-option">http11-option</a>, <a href="#http2-option">http2-option</a>, <a href="#http3-option">http3-option</a>, <a href="#insecure-option">insecure-option</a>, <a href="#ipv4-option">ipv4-option</a>, <a href="#ipv6-option">ipv6-option</a>, <a href="#netrc-option">netrc-option</a>, <a href="#netrc-optional-option">netrc-optional-option</a>, <a href="#path-as-is-option">path-as-is-option</a>, <a href="#skip-option">skip-option</a>, <a href="#verbose-option">verbose-option</a>, <a href="#very-verbose-option">very-verbose-option</a>)</span></div><div class="grammar-rule-expression"><a href="#boolean">boolean</a><span class="grammar-symbol">|</span><a href="#placeholder">placeholder</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="integer-option">integer-option</span><span class="grammar-usedby">(used by <a href="#limit-rate-option">limit-rate-option</a>, <a href="#max-redirs-option">max-redirs-option</a>, <a href="#repeat-option">repeat-option</a>, <a href="#retry-option">retry-option</a>)</span></div><div class="grammar-rule-expression"><a href="#integer">integer</a><span class="grammar-symbol">|</span><a href="#placeholder">placeholder</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="integer-option">integer-option</span><span class="grammar-usedby">(used by <a href="#limit-rate-option">limit-rate-option</a>, <a href="#max-redirs-option">max-redirs-option</a>, <a href="#max-time-option">max-time-option</a>, <a href="#repeat-option">repeat-option</a>, <a href="#retry-option">retry-option</a>)</span></div><div class="grammar-rule-expression"><a href="#integer">integer</a><span class="grammar-symbol">|</span><a href="#placeholder">placeholder</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="duration-option">duration-option</span><span class="grammar-usedby">(used by <a href="#connect-timeout-option">connect-timeout-option</a>, <a href="#delay-option">delay-option</a>, <a href="#retry-interval-option">retry-interval-option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-symbol">(</span><a href="#integer">integer</a> <a href="#duration-unit">duration-unit</a><span class="grammar-symbol">?</span><span class="grammar-symbol">)</span><span class="grammar-symbol">|</span><a href="#placeholder">placeholder</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="duration-option">duration-option</span><span class="grammar-usedby">(used by <a href="#connect-timeout-option">connect-timeout-option</a>, <a href="#delay-option">delay-option</a>, <a href="#retry-interval-option">retry-interval-option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-symbol">(</span><a href="#integer">integer</a> <a href="#duration-unit">duration-unit</a><span class="grammar-symbol">?</span><span class="grammar-symbol">)</span><span class="grammar-symbol">|</span><a href="#placeholder">placeholder</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="duration-unit">duration-unit</span><span class="grammar-usedby">(used by <a href="#duration-option">duration-option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">ms</span><span class="grammar-symbol">|</span><span class="grammar-literal">s</span><span class="grammar-symbol">|</span><span class="grammar-literal">m</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="duration-unit">duration-unit</span><span class="grammar-usedby">(used by <a href="#duration-option">duration-option</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">ms</span><span class="grammar-symbol">|</span><span class="grammar-literal">s</span><span class="grammar-symbol">|</span><span class="grammar-literal">m</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="variable-value">variable-value</span><span class="grammar-usedby">(used by <a href="#variable-definition">variable-definition</a>)</span></div><div class="grammar-rule-expression"> <a href="#null">null</a><br>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="variable-value">variable-value</span><span class="grammar-usedby">(used by <a href="#variable-definition">variable-definition</a>)</span></div><div class="grammar-rule-expression"> <a href="#null">null</a><br>
|
||||||
|
|
@ -329,7 +330,7 @@ Short description:
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="split-filter">split-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">split</span> <a href="#sp">sp</a> <a href="#quoted-string">quoted-string</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="split-filter">split-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">split</span> <a href="#sp">sp</a> <a href="#quoted-string">quoted-string</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-date-filter">to-date-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toDate</span> <a href="#sp">sp</a> <a href="#quoted-string">quoted-string</a></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-date-filter">to-date-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toDate</span> <a href="#sp">sp</a> <a href="#quoted-string">quoted-string</a></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-float-filter">to-float-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toFloat</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-float-filter">to-float-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toFloat</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-hex-filter">to-hex-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toFloat</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-hex-filter">to-hex-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toHex</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-int-filter">to-int-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toInt</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-int-filter">to-int-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toInt</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-string-filter">to-string-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toString</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="to-string-filter">to-string-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">toString</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="url-decode-filter">url-decode-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">urlDecode</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="url-decode-filter">url-decode-filter</span><span class="grammar-usedby">(used by <a href="#filter">filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">urlDecode</span></div></div>
|
||||||
|
|
@ -347,7 +348,7 @@ Short description:
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="fraction">fraction</span><span class="grammar-usedby">(used by <a href="#json-number">json-number</a>, <a href="#float">float</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">.</span> <a href="#digit">digit</a><span class="grammar-symbol">+</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="fraction">fraction</span><span class="grammar-usedby">(used by <a href="#json-number">json-number</a>, <a href="#float">float</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">.</span> <a href="#digit">digit</a><span class="grammar-symbol">+</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="exponent">exponent</span><span class="grammar-usedby">(used by <a href="#json-number">json-number</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-symbol">(</span><span class="grammar-literal">e</span><span class="grammar-symbol">|</span><span class="grammar-literal">E</span><span class="grammar-symbol">)</span> <span class="grammar-symbol">(</span><span class="grammar-literal">+</span><span class="grammar-symbol">|</span><span class="grammar-literal">-</span><span class="grammar-symbol">)</span><span class="grammar-symbol">?</span> <a href="#digit">digit</a><span class="grammar-symbol">+</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="exponent">exponent</span><span class="grammar-usedby">(used by <a href="#json-number">json-number</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-symbol">(</span><span class="grammar-literal">e</span><span class="grammar-symbol">|</span><span class="grammar-literal">E</span><span class="grammar-symbol">)</span> <span class="grammar-symbol">(</span><span class="grammar-literal">+</span><span class="grammar-symbol">|</span><span class="grammar-literal">-</span><span class="grammar-symbol">)</span><span class="grammar-symbol">?</span> <a href="#digit">digit</a><span class="grammar-symbol">+</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="sp">sp</span><span class="grammar-usedby">(used by <a href="#request">request</a>, <a href="#response">response</a>, <a href="#capture">capture</a>, <a href="#assert">assert</a>, <a href="#header-query">header-query</a>, <a href="#certificate-query">certificate-query</a>, <a href="#cookie-query">cookie-query</a>, <a href="#xpath-query">xpath-query</a>, <a href="#jsonpath-query">jsonpath-query</a>, <a href="#regex-query">regex-query</a>, <a href="#variable-query">variable-query</a>, <a href="#predicate">predicate</a>, <a href="#equal-predicate">equal-predicate</a>, <a href="#not-equal-predicate">not-equal-predicate</a>, <a href="#greater-predicate">greater-predicate</a>, <a href="#greater-or-equal-predicate">greater-or-equal-predicate</a>, <a href="#less-predicate">less-predicate</a>, <a href="#less-or-equal-predicate">less-or-equal-predicate</a>, <a href="#start-with-predicate">start-with-predicate</a>, <a href="#end-with-predicate">end-with-predicate</a>, <a href="#contain-predicate">contain-predicate</a>, <a href="#match-predicate">match-predicate</a>, <a href="#include-predicate">include-predicate</a>, <a href="#expr">expr</a>, <a href="#jsonpath-filter">jsonpath-filter</a>, <a href="#nth-filter">nth-filter</a>, <a href="#regex-filter">regex-filter</a>, <a href="#replace-filter">replace-filter</a>, <a href="#split-filter">split-filter</a>, <a href="#to-date-filter">to-date-filter</a>, <a href="#url-query-param-filter">url-query-param-filter</a>, <a href="#xpath-filter">xpath-filter</a>, <a href="#lt">lt</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-regex">[ \t]</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="sp">sp</span><span class="grammar-usedby">(used by <a href="#request">request</a>, <a href="#response">response</a>, <a href="#capture">capture</a>, <a href="#assert">assert</a>, <a href="#header-query">header-query</a>, <a href="#certificate-query">certificate-query</a>, <a href="#cookie-query">cookie-query</a>, <a href="#xpath-query">xpath-query</a>, <a href="#jsonpath-query">jsonpath-query</a>, <a href="#regex-query">regex-query</a>, <a href="#variable-query">variable-query</a>, <a href="#predicate">predicate</a>, <a href="#equal-predicate">equal-predicate</a>, <a href="#not-equal-predicate">not-equal-predicate</a>, <a href="#greater-predicate">greater-predicate</a>, <a href="#greater-or-equal-predicate">greater-or-equal-predicate</a>, <a href="#less-predicate">less-predicate</a>, <a href="#less-or-equal-predicate">less-or-equal-predicate</a>, <a href="#start-with-predicate">start-with-predicate</a>, <a href="#end-with-predicate">end-with-predicate</a>, <a href="#contain-predicate">contain-predicate</a>, <a href="#match-predicate">match-predicate</a>, <a href="#include-predicate">include-predicate</a>, <a href="#expr">expr</a>, <a href="#jsonpath-filter">jsonpath-filter</a>, <a href="#nth-filter">nth-filter</a>, <a href="#regex-filter">regex-filter</a>, <a href="#replace-filter">replace-filter</a>, <a href="#split-filter">split-filter</a>, <a href="#to-date-filter">to-date-filter</a>, <a href="#url-query-param-filter">url-query-param-filter</a>, <a href="#xpath-filter">xpath-filter</a>, <a href="#lt">lt</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-regex">[ \t]</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="lt">lt</span><span class="grammar-usedby">(used by <a href="#hurl-file">hurl-file</a>, <a href="#request">request</a>, <a href="#response">response</a>, <a href="#header">header</a>, <a href="#body">body</a>, <a href="#query-string-params-section">query-string-params-section</a>, <a href="#form-params-section">form-params-section</a>, <a href="#multipart-form-data-section">multipart-form-data-section</a>, <a href="#cookies-section">cookies-section</a>, <a href="#captures-section">captures-section</a>, <a href="#asserts-section">asserts-section</a>, <a href="#basic-auth-section">basic-auth-section</a>, <a href="#options-section">options-section</a>, <a href="#filename-param">filename-param</a>, <a href="#capture">capture</a>, <a href="#assert">assert</a>, <a href="#option">option</a>, <a href="#aws-sigv4-option">aws-sigv4-option</a>, <a href="#ca-certificate-option">ca-certificate-option</a>, <a href="#client-certificate-option">client-certificate-option</a>, <a href="#client-key-option">client-key-option</a>, <a href="#compressed-option">compressed-option</a>, <a href="#connect-to-option">connect-to-option</a>, <a href="#connect-timeout-option">connect-timeout-option</a>, <a href="#delay-option">delay-option</a>, <a href="#follow-redirect-option">follow-redirect-option</a>, <a href="#follow-redirect-trusted-option">follow-redirect-trusted-option</a>, <a href="#header-option">header-option</a>, <a href="#http10-option">http10-option</a>, <a href="#http11-option">http11-option</a>, <a href="#http2-option">http2-option</a>, <a href="#http3-option">http3-option</a>, <a href="#insecure-option">insecure-option</a>, <a href="#ipv4-option">ipv4-option</a>, <a href="#ipv6-option">ipv6-option</a>, <a href="#limit-rate-option">limit-rate-option</a>, <a href="#max-redirs-option">max-redirs-option</a>, <a href="#netrc-option">netrc-option</a>, <a href="#netrc-file-option">netrc-file-option</a>, <a href="#netrc-optional-option">netrc-optional-option</a>, <a href="#output-option">output-option</a>, <a href="#path-as-is-option">path-as-is-option</a>, <a href="#proxy-option">proxy-option</a>, <a href="#resolve-option">resolve-option</a>, <a href="#repeat-option">repeat-option</a>, <a href="#retry-option">retry-option</a>, <a href="#retry-interval-option">retry-interval-option</a>, <a href="#skip-option">skip-option</a>, <a href="#unix-socket-option">unix-socket-option</a>, <a href="#user-option">user-option</a>, <a href="#variable-option">variable-option</a>, <a href="#verbose-option">verbose-option</a>, <a href="#very-verbose-option">very-verbose-option</a>, <a href="#multiline-string">multiline-string</a>)</span></div><div class="grammar-rule-expression"><a href="#sp">sp</a><span class="grammar-symbol">*</span> <a href="#comment">comment</a><span class="grammar-symbol">?</span> <span class="grammar-regex">[\n]?</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="lt">lt</span><span class="grammar-usedby">(used by <a href="#hurl-file">hurl-file</a>, <a href="#request">request</a>, <a href="#response">response</a>, <a href="#header">header</a>, <a href="#body">body</a>, <a href="#query-string-params-section">query-string-params-section</a>, <a href="#form-params-section">form-params-section</a>, <a href="#multipart-form-data-section">multipart-form-data-section</a>, <a href="#cookies-section">cookies-section</a>, <a href="#captures-section">captures-section</a>, <a href="#asserts-section">asserts-section</a>, <a href="#basic-auth-section">basic-auth-section</a>, <a href="#options-section">options-section</a>, <a href="#filename-param">filename-param</a>, <a href="#capture">capture</a>, <a href="#assert">assert</a>, <a href="#option">option</a>, <a href="#aws-sigv4-option">aws-sigv4-option</a>, <a href="#ca-certificate-option">ca-certificate-option</a>, <a href="#client-certificate-option">client-certificate-option</a>, <a href="#client-key-option">client-key-option</a>, <a href="#compressed-option">compressed-option</a>, <a href="#connect-to-option">connect-to-option</a>, <a href="#connect-timeout-option">connect-timeout-option</a>, <a href="#delay-option">delay-option</a>, <a href="#follow-redirect-option">follow-redirect-option</a>, <a href="#follow-redirect-trusted-option">follow-redirect-trusted-option</a>, <a href="#header-option">header-option</a>, <a href="#http10-option">http10-option</a>, <a href="#http11-option">http11-option</a>, <a href="#http2-option">http2-option</a>, <a href="#http3-option">http3-option</a>, <a href="#insecure-option">insecure-option</a>, <a href="#ipv4-option">ipv4-option</a>, <a href="#ipv6-option">ipv6-option</a>, <a href="#limit-rate-option">limit-rate-option</a>, <a href="#max-redirs-option">max-redirs-option</a>, <a href="#max-time-option">max-time-option</a>, <a href="#netrc-option">netrc-option</a>, <a href="#netrc-file-option">netrc-file-option</a>, <a href="#netrc-optional-option">netrc-optional-option</a>, <a href="#output-option">output-option</a>, <a href="#path-as-is-option">path-as-is-option</a>, <a href="#proxy-option">proxy-option</a>, <a href="#resolve-option">resolve-option</a>, <a href="#repeat-option">repeat-option</a>, <a href="#retry-option">retry-option</a>, <a href="#retry-interval-option">retry-interval-option</a>, <a href="#skip-option">skip-option</a>, <a href="#unix-socket-option">unix-socket-option</a>, <a href="#user-option">user-option</a>, <a href="#variable-option">variable-option</a>, <a href="#verbose-option">verbose-option</a>, <a href="#very-verbose-option">very-verbose-option</a>, <a href="#multiline-string">multiline-string</a>)</span></div><div class="grammar-rule-expression"><a href="#sp">sp</a><span class="grammar-symbol">*</span> <a href="#comment">comment</a><span class="grammar-symbol">?</span> <span class="grammar-regex">[\n]?</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="comment">comment</span><span class="grammar-usedby">(used by <a href="#lt">lt</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">#</span> <span class="grammar-regex">~[\n]*</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="comment">comment</span><span class="grammar-usedby">(used by <a href="#lt">lt</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">#</span> <span class="grammar-regex">~[\n]*</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="regex">regex</span><span class="grammar-usedby">(used by <a href="#regex-query">regex-query</a>, <a href="#match-predicate">match-predicate</a>, <a href="#regex-filter">regex-filter</a>, <a href="#replace-filter">replace-filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">/</span> <a href="#regex-content">regex-content</a> <span class="grammar-literal">/</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="regex">regex</span><span class="grammar-usedby">(used by <a href="#regex-query">regex-query</a>, <a href="#match-predicate">match-predicate</a>, <a href="#regex-filter">regex-filter</a>, <a href="#replace-filter">replace-filter</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-literal">/</span> <a href="#regex-content">regex-content</a> <span class="grammar-literal">/</span></div></div>
|
||||||
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="regex-content">regex-content</span><span class="grammar-usedby">(used by <a href="#regex">regex</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-symbol">(</span><a href="#regex-text">regex-text</a><span class="grammar-symbol">|</span><a href="#regex-escaped-char">regex-escaped-char</a><span class="grammar-symbol">)</span><span class="grammar-symbol">*</span></div></div>
|
<div class="grammar-rule"><div class="grammar-rule-declaration"><span class="grammar-rule-id" id="regex-content">regex-content</span><span class="grammar-usedby">(used by <a href="#regex">regex</a>)</span></div><div class="grammar-rule-expression"><span class="grammar-symbol">(</span><a href="#regex-text">regex-text</a><span class="grammar-symbol">|</span><a href="#regex-escaped-char">regex-escaped-char</a><span class="grammar-symbol">)</span><span class="grammar-symbol">*</span></div></div>
|
||||||
|
|
|
||||||
|
|
@ -215,6 +215,7 @@ ipv6: true # use IPv6 addresses
|
||||||
limit-rate: 32000 # limit this request to the specidied speed (bytes/s)
|
limit-rate: 32000 # limit this request to the specidied speed (bytes/s)
|
||||||
location: true # follow redirection for this request
|
location: true # follow redirection for this request
|
||||||
max-redirs: 10 # maximum number of redirections
|
max-redirs: 10 # maximum number of redirections
|
||||||
|
max-time: 30s # maximum time for a request/response
|
||||||
output: out.html # dump the response to this file
|
output: out.html # dump the response to this file
|
||||||
path-as-is: true # do not handle sequences of /../ or /./ in URL path
|
path-as-is: true # do not handle sequences of /../ or /./ in URL path
|
||||||
retry: 10 # number of retry if HTTP/asserts errors
|
retry: 10 # number of retry if HTTP/asserts errors
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,7 @@ option:
|
||||||
| ipv6-option
|
| ipv6-option
|
||||||
| limit-rate-option
|
| limit-rate-option
|
||||||
| max-redirs-option
|
| max-redirs-option
|
||||||
|
| max-time-option
|
||||||
| netrc-option
|
| netrc-option
|
||||||
| netrc-file-option
|
| netrc-file-option
|
||||||
| netrc-optional-option
|
| netrc-optional-option
|
||||||
|
|
@ -194,6 +195,8 @@ limit-rate-option: "limit-rate" ":" integer-option lt
|
||||||
|
|
||||||
max-redirs-option: "max-redirs" ":" integer-option lt
|
max-redirs-option: "max-redirs" ":" integer-option lt
|
||||||
|
|
||||||
|
max-time-option: "max-time" ":" integer-option lt
|
||||||
|
|
||||||
netrc-option: "netrc" ":" boolean-option lt
|
netrc-option: "netrc" ":" boolean-option lt
|
||||||
|
|
||||||
netrc-file-option: "netrc-file" ":" value-string lt
|
netrc-file-option: "netrc-file" ":" value-string lt
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@ error: Parsing option
|
||||||
--> tests_error_parser/invalid_option.hurl:3:1
|
--> tests_error_parser/invalid_option.hurl:3:1
|
||||||
|
|
|
|
||||||
3 | foo: true
|
3 | foo: true
|
||||||
| ^ the option name is not valid. Valid values are aws-sigv4, cacert, cert, compressed, connect-to, delay, insecure, header, http1.0, http1.1, http2, http3, ipv4, ipv6, key, location, max-redirs, output, path-as-is, proxy, redirects, resolve, retry, retry-interval, skip, unix-socket, variable, verbose, very-verbose
|
| ^ the option name is not valid. Valid values are aws-sigv4, cacert, cert, compressed, connect-to, delay, insecure, header, http1.0, http1.1, http2, http3, ipv4, ipv6, key, location, max-redirs, max-time, output, path-as-is, proxy, redirects, resolve, retry, retry-interval, skip, unix-socket, variable, verbose, very-verbose
|
||||||
|
|
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
<span class="line"><span class="string">ipv6</span>: <span class="boolean">false</span></span>
|
<span class="line"><span class="string">ipv6</span>: <span class="boolean">false</span></span>
|
||||||
<span class="line"><span class="string">limit-rate</span>: <span class="number">1000</span></span>
|
<span class="line"><span class="string">limit-rate</span>: <span class="number">1000</span></span>
|
||||||
<span class="line"><span class="string">max-redirs</span>: <span class="number">10</span></span>
|
<span class="line"><span class="string">max-redirs</span>: <span class="number">10</span></span>
|
||||||
|
<span class="line"><span class="string">max-time</span>: <span class="number">100</span><span class="unit">s</span></span>
|
||||||
<span class="line"><span class="string">netrc</span>: <span class="boolean">false</span></span>
|
<span class="line"><span class="string">netrc</span>: <span class="boolean">false</span></span>
|
||||||
<span class="line"><span class="string">netrc-file</span>: <span class="filename">netrcfile</span></span>
|
<span class="line"><span class="string">netrc-file</span>: <span class="filename">netrcfile</span></span>
|
||||||
<span class="line"><span class="string">netrc-optional</span>: <span class="boolean">false</span></span>
|
<span class="line"><span class="string">netrc-optional</span>: <span class="boolean">false</span></span>
|
||||||
|
|
@ -72,6 +73,7 @@
|
||||||
<span class="line"><span class="string">ipv6</span>: <span class="expr">{{ipv6}}</span></span>
|
<span class="line"><span class="string">ipv6</span>: <span class="expr">{{ipv6}}</span></span>
|
||||||
<span class="line"><span class="string">limit-rate</span>: <span class="expr">{{limit-rate}}</span></span>
|
<span class="line"><span class="string">limit-rate</span>: <span class="expr">{{limit-rate}}</span></span>
|
||||||
<span class="line"><span class="string">max-redirs</span>: <span class="expr">{{max-redirs}}</span></span>
|
<span class="line"><span class="string">max-redirs</span>: <span class="expr">{{max-redirs}}</span></span>
|
||||||
|
<span class="line"><span class="string">max-time</span>: <span class="expr">{{max-time}}</span></span>
|
||||||
<span class="line"><span class="string">netrc</span>: <span class="expr">{{netrc}}</span></span>
|
<span class="line"><span class="string">netrc</span>: <span class="expr">{{netrc}}</span></span>
|
||||||
<span class="line"><span class="string">netrc-file</span>: <span class="filename">{{netrc-file}}</span></span>
|
<span class="line"><span class="string">netrc-file</span>: <span class="filename">{{netrc-file}}</span></span>
|
||||||
<span class="line"><span class="string">netrc-optional</span>: <span class="expr">{{netrc-optional}}</span></span>
|
<span class="line"><span class="string">netrc-optional</span>: <span class="expr">{{netrc-optional}}</span></span>
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ ipv4: false
|
||||||
ipv6: false
|
ipv6: false
|
||||||
limit-rate: 1000
|
limit-rate: 1000
|
||||||
max-redirs: 10
|
max-redirs: 10
|
||||||
|
max-time: 100s
|
||||||
netrc: false
|
netrc: false
|
||||||
netrc-file: netrcfile
|
netrc-file: netrcfile
|
||||||
netrc-optional: false
|
netrc-optional: false
|
||||||
|
|
@ -72,6 +73,7 @@ ipv4: {{ipv4}}
|
||||||
ipv6: {{ipv6}}
|
ipv6: {{ipv6}}
|
||||||
limit-rate: {{limit-rate}}
|
limit-rate: {{limit-rate}}
|
||||||
max-redirs: {{max-redirs}}
|
max-redirs: {{max-redirs}}
|
||||||
|
max-time: {{max-time}}
|
||||||
netrc: {{netrc}}
|
netrc: {{netrc}}
|
||||||
netrc-file: {{netrc-file}}
|
netrc-file: {{netrc-file}}
|
||||||
netrc-optional: {{netrc-optional}}
|
netrc-optional: {{netrc-optional}}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"entries":[{"request":{"method":"GET","url":"http://localhost:8000/hello","options":[{"name":"aws-sigv4","value":"aws:amz:eu-central-1:sts"},{"name":"cacert","value":"cacertfile"},{"name":"cert","value":"certfile"},{"name":"cert","value":"certfile:qU114@q,[\"NO"},{"name":"key","value":"keyfile"},{"name":"compressed","value":false},{"name":"connect-to","value":"example.com:443:example.net:8443"},{"value":60,"unit":"s","name":"connect-timeout"},{"name":"delay","value":1000},{"value":1000,"unit":"ms","name":"delay"},{"value":1,"unit":"s","name":"delay"},{"name":"location","value":false},{"name":"location-trusted","value":false},{"name":"header","value":"key: value"},{"name":"http1.0","value":false},{"name":"http1.1","value":false},{"name":"http2","value":false},{"name":"http3","value":false},{"name":"insecure","value":false},{"name":"ipv4","value":false},{"name":"ipv6","value":false},{"name":"limit-rate","value":1000},{"name":"max-redirs","value":10},{"name":"netrc","value":false},{"name":"netrc-file","value":"netrcfile"},{"name":"netrc-optional","value":false},{"name":"output","value":"output.txt"},{"name":"path-as-is","value":false},{"name":"proxy","value":"http://proxy.example"},{"name":"repeat","value":-1},{"name":"repeat","value":5},{"name":"resolve","value":"example.com:443:127.0.0.1"},{"name":"retry","value":0},{"name":"retry","value":-1},{"name":"retry","value":4},{"name":"retry-interval","value":1000},{"value":1000,"unit":"ms","name":"retry-interval"},{"value":1,"unit":"s","name":"retry-interval"},{"name":"skip","value":false},{"name":"unix-socket","value":"build/unix_socket.sock"},{"name":"user","value":"bob:secret"},{"name":"variable","value":"user=null"},{"name":"variable","value":"status=true"},{"name":"variable","value":"count=2"},{"name":"variable","value":"score=7.7"},{"name":"variable","value":"name=Bob"},{"name":"variable","value":"name=Bob"},{"name":"verbose","value":false},{"name":"very-verbose","value":false}]}},{"request":{"method":"GET","url":"http://localhost:8000/hello","options":[{"name":"aws-sigv4","value":"{{aws-sigv4}}"},{"name":"cacert","value":"{{cacert}}"},{"name":"cert","value":"{{cert}}"},{"name":"key","value":"{{key}}"},{"name":"compressed","value":"{{compressed}}"},{"name":"connect-to","value":"{{connect-to}}"},{"name":"connect-timeout","value":"{{connect-timeout}}"},{"name":"delay","value":"{{delay}}"},{"name":"location","value":"{{location}}"},{"name":"location-trusted","value":"{{location-trusted}}"},{"name":"header","value":"{{header}}"},{"name":"http1.0","value":"{{http10}}"},{"name":"http1.1","value":"{{http11}}"},{"name":"http2","value":"{{http2}}"},{"name":"http3","value":"{{http3}}"},{"name":"insecure","value":"{{insecure}}"},{"name":"ipv4","value":"{{ipv4}}"},{"name":"ipv6","value":"{{ipv6}}"},{"name":"limit-rate","value":"{{limit-rate}}"},{"name":"max-redirs","value":"{{max-redirs}}"},{"name":"netrc","value":"{{netrc}}"},{"name":"netrc-file","value":"{{netrc-file}}"},{"name":"netrc-optional","value":"{{netrc-optional}}"},{"name":"output","value":"{{output}}"},{"name":"path-as-is","value":"{{path-as-is}}"},{"name":"proxy","value":"{{proxy}}"},{"name":"repeat","value":"{{repeat}}"},{"name":"resolve","value":"{{resolve}}"},{"name":"retry","value":"{{retry}}"},{"name":"retry-interval","value":"{{retry-interval}}"},{"name":"skip","value":"{{skip}}"},{"name":"unix-socket","value":"{{socket-file}}"},{"name":"user","value":"{{user}}"},{"name":"verbose","value":"{{verbose}}"},{"name":"very-verbose","value":"{{very-verbose}}"}]}}]}
|
{"entries":[{"request":{"method":"GET","url":"http://localhost:8000/hello","options":[{"name":"aws-sigv4","value":"aws:amz:eu-central-1:sts"},{"name":"cacert","value":"cacertfile"},{"name":"cert","value":"certfile"},{"name":"cert","value":"certfile:qU114@q,[\"NO"},{"name":"key","value":"keyfile"},{"name":"compressed","value":false},{"name":"connect-to","value":"example.com:443:example.net:8443"},{"value":60,"unit":"s","name":"connect-timeout"},{"name":"delay","value":1000},{"value":1000,"unit":"ms","name":"delay"},{"value":1,"unit":"s","name":"delay"},{"name":"location","value":false},{"name":"location-trusted","value":false},{"name":"header","value":"key: value"},{"name":"http1.0","value":false},{"name":"http1.1","value":false},{"name":"http2","value":false},{"name":"http3","value":false},{"name":"insecure","value":false},{"name":"ipv4","value":false},{"name":"ipv6","value":false},{"name":"limit-rate","value":1000},{"name":"max-redirs","value":10},{"value":100,"unit":"s","name":"max-time"},{"name":"netrc","value":false},{"name":"netrc-file","value":"netrcfile"},{"name":"netrc-optional","value":false},{"name":"output","value":"output.txt"},{"name":"path-as-is","value":false},{"name":"proxy","value":"http://proxy.example"},{"name":"repeat","value":-1},{"name":"repeat","value":5},{"name":"resolve","value":"example.com:443:127.0.0.1"},{"name":"retry","value":0},{"name":"retry","value":-1},{"name":"retry","value":4},{"name":"retry-interval","value":1000},{"value":1000,"unit":"ms","name":"retry-interval"},{"value":1,"unit":"s","name":"retry-interval"},{"name":"skip","value":false},{"name":"unix-socket","value":"build/unix_socket.sock"},{"name":"user","value":"bob:secret"},{"name":"variable","value":"user=null"},{"name":"variable","value":"status=true"},{"name":"variable","value":"count=2"},{"name":"variable","value":"score=7.7"},{"name":"variable","value":"name=Bob"},{"name":"variable","value":"name=Bob"},{"name":"verbose","value":false},{"name":"very-verbose","value":false}]}},{"request":{"method":"GET","url":"http://localhost:8000/hello","options":[{"name":"aws-sigv4","value":"{{aws-sigv4}}"},{"name":"cacert","value":"{{cacert}}"},{"name":"cert","value":"{{cert}}"},{"name":"key","value":"{{key}}"},{"name":"compressed","value":"{{compressed}}"},{"name":"connect-to","value":"{{connect-to}}"},{"name":"connect-timeout","value":"{{connect-timeout}}"},{"name":"delay","value":"{{delay}}"},{"name":"location","value":"{{location}}"},{"name":"location-trusted","value":"{{location-trusted}}"},{"name":"header","value":"{{header}}"},{"name":"http1.0","value":"{{http10}}"},{"name":"http1.1","value":"{{http11}}"},{"name":"http2","value":"{{http2}}"},{"name":"http3","value":"{{http3}}"},{"name":"insecure","value":"{{insecure}}"},{"name":"ipv4","value":"{{ipv4}}"},{"name":"ipv6","value":"{{ipv6}}"},{"name":"limit-rate","value":"{{limit-rate}}"},{"name":"max-redirs","value":"{{max-redirs}}"},{"name":"max-time","value":"{{max-time}}"},{"name":"netrc","value":"{{netrc}}"},{"name":"netrc-file","value":"{{netrc-file}}"},{"name":"netrc-optional","value":"{{netrc-optional}}"},{"name":"output","value":"{{output}}"},{"name":"path-as-is","value":"{{path-as-is}}"},{"name":"proxy","value":"{{proxy}}"},{"name":"repeat","value":"{{repeat}}"},{"name":"resolve","value":"{{resolve}}"},{"name":"retry","value":"{{retry}}"},{"name":"retry-interval","value":"{{retry-interval}}"},{"name":"skip","value":"{{skip}}"},{"name":"unix-socket","value":"{{socket-file}}"},{"name":"user","value":"{{user}}"},{"name":"verbose","value":"{{verbose}}"},{"name":"very-verbose","value":"{{very-verbose}}"}]}}]}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ ipv4: false
|
||||||
ipv6: false
|
ipv6: false
|
||||||
limit-rate: 1000
|
limit-rate: 1000
|
||||||
max-redirs: 10
|
max-redirs: 10
|
||||||
|
max-time: 100s
|
||||||
netrc: false
|
netrc: false
|
||||||
netrc-file: netrcfile
|
netrc-file: netrcfile
|
||||||
netrc-optional: false
|
netrc-optional: false
|
||||||
|
|
@ -72,6 +73,7 @@ ipv4: {{ipv4}}
|
||||||
ipv6: {{ipv6}}
|
ipv6: {{ipv6}}
|
||||||
limit-rate: {{limit-rate}}
|
limit-rate: {{limit-rate}}
|
||||||
max-redirs: {{max-redirs}}
|
max-redirs: {{max-redirs}}
|
||||||
|
max-time: {{max-time}}
|
||||||
netrc: {{netrc}}
|
netrc: {{netrc}}
|
||||||
netrc-file: {{netrc-file}}
|
netrc-file: {{netrc-file}}
|
||||||
netrc-optional: {{netrc-optional}}
|
netrc-optional: {{netrc-optional}}
|
||||||
|
|
|
||||||
|
|
@ -200,6 +200,11 @@ pub fn get_entry_options(
|
||||||
let value = eval_count_option(value, variables)?;
|
let value = eval_count_option(value, variables)?;
|
||||||
entry_options.max_redirect = value;
|
entry_options.max_redirect = value;
|
||||||
}
|
}
|
||||||
|
OptionKind::MaxTime(value) => {
|
||||||
|
let value =
|
||||||
|
eval_duration_option(value, variables, DurationUnit::MilliSecond)?;
|
||||||
|
entry_options.timeout = value;
|
||||||
|
}
|
||||||
OptionKind::NetRc(value) => {
|
OptionKind::NetRc(value) => {
|
||||||
let value = eval_boolean_option(value, variables)?;
|
let value = eval_boolean_option(value, variables)?;
|
||||||
entry_options.netrc = value;
|
entry_options.netrc = value;
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@ pub enum OptionKind {
|
||||||
FollowLocationTrusted(BooleanOption),
|
FollowLocationTrusted(BooleanOption),
|
||||||
LimitRate(NaturalOption),
|
LimitRate(NaturalOption),
|
||||||
MaxRedirect(CountOption),
|
MaxRedirect(CountOption),
|
||||||
|
MaxTime(DurationOption),
|
||||||
NetRc(BooleanOption),
|
NetRc(BooleanOption),
|
||||||
NetRcFile(Template),
|
NetRcFile(Template),
|
||||||
NetRcOptional(BooleanOption),
|
NetRcOptional(BooleanOption),
|
||||||
|
|
@ -96,6 +97,7 @@ impl OptionKind {
|
||||||
OptionKind::IpV6(_) => "ipv6",
|
OptionKind::IpV6(_) => "ipv6",
|
||||||
OptionKind::LimitRate(_) => "limit-rate",
|
OptionKind::LimitRate(_) => "limit-rate",
|
||||||
OptionKind::MaxRedirect(_) => "max-redirs",
|
OptionKind::MaxRedirect(_) => "max-redirs",
|
||||||
|
OptionKind::MaxTime(_) => "max-time",
|
||||||
OptionKind::NetRc(_) => "netrc",
|
OptionKind::NetRc(_) => "netrc",
|
||||||
OptionKind::NetRcFile(_) => "netrc-file",
|
OptionKind::NetRcFile(_) => "netrc-file",
|
||||||
OptionKind::NetRcOptional(_) => "netrc-optional",
|
OptionKind::NetRcOptional(_) => "netrc-optional",
|
||||||
|
|
@ -139,6 +141,7 @@ impl fmt::Display for OptionKind {
|
||||||
OptionKind::IpV6(value) => value.to_string(),
|
OptionKind::IpV6(value) => value.to_string(),
|
||||||
OptionKind::LimitRate(value) => value.to_string(),
|
OptionKind::LimitRate(value) => value.to_string(),
|
||||||
OptionKind::MaxRedirect(value) => value.to_string(),
|
OptionKind::MaxRedirect(value) => value.to_string(),
|
||||||
|
OptionKind::MaxTime(value) => value.to_string(),
|
||||||
OptionKind::NetRc(value) => value.to_string(),
|
OptionKind::NetRc(value) => value.to_string(),
|
||||||
OptionKind::NetRcFile(filename) => filename.to_string(),
|
OptionKind::NetRcFile(filename) => filename.to_string(),
|
||||||
OptionKind::NetRcOptional(value) => value.to_string(),
|
OptionKind::NetRcOptional(value) => value.to_string(),
|
||||||
|
|
|
||||||
|
|
@ -239,6 +239,7 @@ impl HtmlFormatter {
|
||||||
OptionKind::IpV6(value) => self.fmt_bool_option(value),
|
OptionKind::IpV6(value) => self.fmt_bool_option(value),
|
||||||
OptionKind::LimitRate(value) => self.fmt_natural_option(value),
|
OptionKind::LimitRate(value) => self.fmt_natural_option(value),
|
||||||
OptionKind::MaxRedirect(value) => self.fmt_count_option(value),
|
OptionKind::MaxRedirect(value) => self.fmt_count_option(value),
|
||||||
|
OptionKind::MaxTime(value) => self.fmt_duration_option(value),
|
||||||
OptionKind::NetRc(value) => self.fmt_bool_option(value),
|
OptionKind::NetRc(value) => self.fmt_bool_option(value),
|
||||||
OptionKind::NetRcFile(filename) => self.fmt_filename(filename),
|
OptionKind::NetRcFile(filename) => self.fmt_filename(filename),
|
||||||
OptionKind::NetRcOptional(value) => self.fmt_bool_option(value),
|
OptionKind::NetRcOptional(value) => self.fmt_bool_option(value),
|
||||||
|
|
|
||||||
|
|
@ -173,6 +173,7 @@ impl DisplaySourceError for ParseError {
|
||||||
"key",
|
"key",
|
||||||
"location",
|
"location",
|
||||||
"max-redirs",
|
"max-redirs",
|
||||||
|
"max-time",
|
||||||
"output",
|
"output",
|
||||||
"path-as-is",
|
"path-as-is",
|
||||||
"proxy",
|
"proxy",
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,7 @@ pub fn parse(reader: &mut Reader) -> ParseResult<EntryOption> {
|
||||||
"location" => option_follow_location(reader)?,
|
"location" => option_follow_location(reader)?,
|
||||||
"location-trusted" => option_follow_location_trusted(reader)?,
|
"location-trusted" => option_follow_location_trusted(reader)?,
|
||||||
"max-redirs" => option_max_redirect(reader)?,
|
"max-redirs" => option_max_redirect(reader)?,
|
||||||
|
"max-time" => option_max_time(reader)?,
|
||||||
"netrc" => option_netrc(reader)?,
|
"netrc" => option_netrc(reader)?,
|
||||||
"netrc-file" => option_netrc_file(reader)?,
|
"netrc-file" => option_netrc_file(reader)?,
|
||||||
"netrc-optional" => option_netrc_optional(reader)?,
|
"netrc-optional" => option_netrc_optional(reader)?,
|
||||||
|
|
@ -202,6 +203,11 @@ fn option_max_redirect(reader: &mut Reader) -> ParseResult<OptionKind> {
|
||||||
Ok(OptionKind::MaxRedirect(value))
|
Ok(OptionKind::MaxRedirect(value))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn option_max_time(reader: &mut Reader) -> ParseResult<OptionKind> {
|
||||||
|
let value = duration_option(reader)?;
|
||||||
|
Ok(OptionKind::MaxTime(value))
|
||||||
|
}
|
||||||
|
|
||||||
fn option_netrc(reader: &mut Reader) -> ParseResult<OptionKind> {
|
fn option_netrc(reader: &mut Reader) -> ParseResult<OptionKind> {
|
||||||
let value = non_recover(boolean_option, reader)?;
|
let value = non_recover(boolean_option, reader)?;
|
||||||
Ok(OptionKind::NetRc(value))
|
Ok(OptionKind::NetRc(value))
|
||||||
|
|
|
||||||
|
|
@ -327,6 +327,7 @@ impl ToJson for EntryOption {
|
||||||
OptionKind::IpV6(value) => value.to_json(),
|
OptionKind::IpV6(value) => value.to_json(),
|
||||||
OptionKind::LimitRate(value) => value.to_json(),
|
OptionKind::LimitRate(value) => value.to_json(),
|
||||||
OptionKind::MaxRedirect(value) => value.to_json(),
|
OptionKind::MaxRedirect(value) => value.to_json(),
|
||||||
|
OptionKind::MaxTime(value) => value.to_json(),
|
||||||
OptionKind::NetRc(value) => value.to_json(),
|
OptionKind::NetRc(value) => value.to_json(),
|
||||||
OptionKind::NetRcFile(filename) => JValue::String(filename.to_string()),
|
OptionKind::NetRcFile(filename) => JValue::String(filename.to_string()),
|
||||||
OptionKind::NetRcOptional(value) => value.to_json(),
|
OptionKind::NetRcOptional(value) => value.to_json(),
|
||||||
|
|
|
||||||
|
|
@ -915,6 +915,7 @@ impl Tokenizable for OptionKind {
|
||||||
OptionKind::IpV6(value) => value.tokenize(),
|
OptionKind::IpV6(value) => value.tokenize(),
|
||||||
OptionKind::LimitRate(value) => value.tokenize(),
|
OptionKind::LimitRate(value) => value.tokenize(),
|
||||||
OptionKind::MaxRedirect(value) => value.tokenize(),
|
OptionKind::MaxRedirect(value) => value.tokenize(),
|
||||||
|
OptionKind::MaxTime(value) => value.tokenize(),
|
||||||
OptionKind::NetRc(value) => value.tokenize(),
|
OptionKind::NetRc(value) => value.tokenize(),
|
||||||
OptionKind::NetRcFile(filename) => filename.tokenize(),
|
OptionKind::NetRcFile(filename) => filename.tokenize(),
|
||||||
OptionKind::NetRcOptional(value) => value.tokenize(),
|
OptionKind::NetRcOptional(value) => value.tokenize(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue