-
Notifications
You must be signed in to change notification settings - Fork 507
/
_hurl
100 lines (93 loc) · 5.42 KB
/
_hurl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#compdef hurl
autoload -U is-at-least
_hurl() {
typeset -A opt_args
typeset -a _arguments_options
local ret=1
if is-at-least 5.2; then
_arguments_options=(-s -S -C)
else
_arguments_options=(-s -C)
fi
local context curcontext="$curcontext" state line
_arguments "${_arguments_options[@]}" \
'--aws-sigv4[Use AWS V4 signature authentication in the transfer]: :' \
'--cacert[CA certificate to verify peer against (PEM format)]: :_files' \
'(-E --cert)'{-E,--cert}'[Client certificate file and password]: :' \
'--key[Private key file name]: :' \
'--color[Colorize output]' \
'--compressed[Request compressed response (using deflate or gzip)]' \
'--connect-timeout[Maximum time allowed for connection]: :' \
'*--connect-to[For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead]: :' \
'--continue-on-error[Continue executing requests even if an error occurs]' \
'(-b --cookie)'{-b,--cookie}'[Read cookies from FILE]: :_files' \
'(-c --cookie-jar)'{-c,--cookie-jar}'[Write cookies to FILE after running the session (only for one session)]: :_files' \
'--curl[Export each request to a list of curl commands]: :_files' \
'--delay[Sets delay before each request (aka sleep)]: :' \
'--error-format[Control the format of error messages]: :' \
'--file-root[Set root directory to import files \[default: input file directory\]]: :' \
'(-L --location)'{-L,--location}'[Follow redirects]' \
'--location-trusted[Follow redirects but allows sending the name + password to all hosts that the site may redirect to]' \
'--from-entry[Execute Hurl file from ENTRY_NUMBER (starting at 1)]: :' \
'*--glob[Specify input files that match the given GLOB. Multiple glob flags may be used]: :' \
'*(-H --header)'{-H,--header}'[Pass custom header(s) to server]: :' \
'(-0 --http1.0)'{-0,--http1.0}'[Tell Hurl to use HTTP version 1.0]' \
'--http1.1[Tell Hurl to use HTTP version 1.1]' \
'--http2[Tell Hurl to use HTTP version 2]' \
'--http3[Tell Hurl to use HTTP version 3]' \
'--ignore-asserts[Ignore asserts defined in the Hurl file]' \
'(-i --include)'{-i,--include}'[Include the HTTP headers in the output]' \
'(-k --insecure)'{-k,--insecure}'[Allow insecure SSL connections]' \
'--interactive[Turn on interactive mode]' \
'(-4 --ipv4)'{-4,--ipv4}'[Tell Hurl to use IPv4 addresses only when resolving host names, and not for example try IPv6]' \
'(-6 --ipv6)'{-6,--ipv6}'[Tell Hurl to use IPv6 addresses only when resolving host names, and not for example try IPv4]' \
'--jobs[Maximum number of parallel jobs]: :' \
'--json[Output each Hurl file result to JSON]' \
'--limit-rate[Specify the maximum transfer rate in bytes/second, for both downloads and uploads]: :' \
'--max-filesize[Specify the maximum size in bytes of a file to download]: :' \
'--max-redirs[Maximum number of redirects allowed, -1 for unlimited redirects]: :' \
'(-m --max-time)'{-m,--max-time}'[Maximum time allowed for the transfer]: :' \
'(-n --netrc)'{-n,--netrc}'[Must read .netrc for username and password]' \
'--netrc-file[Specify FILE for .netrc]: :_files' \
'--netrc-optional[Use either .netrc or the URL]' \
'--no-color[Do not colorize output]' \
'--no-output[Suppress output. By default, Hurl outputs the body of the last response]' \
'--noproxy[List of hosts which do not use proxy]: :' \
'(-o --output)'{-o,--output}'[Write to FILE instead of stdout]: :_files' \
'--parallel[Run files in parallel (default in test mode)]' \
'--path-as-is[Tell Hurl to not handle sequences of /../ or /./ in the given URL path]' \
'(-x --proxy)'{-x,--proxy}'[Use proxy on given PROTOCOL/HOST/PORT]: :' \
'--repeat[Repeat the input files sequence NUM times, -1 for infinite loop]: :' \
'--report-html[Generate HTML report to DIR]: :' \
'--report-json[Generate JSON report to DIR]: :' \
'--report-junit[Write a JUnit XML report to FILE]: :_files' \
'--report-tap[Write a TAP report to FILE]: :_files' \
'*--resolve[Provide a custom address for a specific HOST and PORT pair]: :' \
'--retry[Maximum number of retries, 0 for no retries, -1 for unlimited retries]: :' \
'--retry-interval[Interval in milliseconds before a retry]: :' \
'*--secret[Define a variable which value is secret]: :' \
'--ssl-no-revoke[(Windows) Tell Hurl to disable certificate revocation checks]' \
'--test[Activate test mode (use parallel execution)]' \
'--to-entry[Execute Hurl file to ENTRY_NUMBER (starting at 1)]: :' \
'--unix-socket[(HTTP) Connect through this Unix domain socket, instead of using the network]: :_files' \
'(-u --user)'{-u,--user}'[Add basic Authentication header to each request]: :' \
'(-A --user-agent)'{-A,--user-agent}'[Specify the User-Agent string to send to the HTTP server]: :' \
'*--variable[Define a variable]: :' \
'*--variables-file[Define a properties file in which you define your variables]: :_files' \
'(-v --verbose)'{-v,--verbose}'[Turn on verbose]' \
'--very-verbose[Turn on verbose output, including HTTP response and libcurl logs]' \
'--help[Print help]' \
'--version[Print version]' \
'*:file:_files' \
&& ret=0
}
(( $+functions[_hurl_commands] )) ||
_hurl_commands() {
local commands; commands=()
_describe -t commands 'hurl commands' commands "$@"
}
if [ "$funcstack[1]" = "_hurl" ]; then
_hurl "$@"
else
compdef _hurl hurl
fi