Commit Graph

382 Commits

Author SHA1 Message Date
Fabrice Reix
b1e2e1624c
Split test aws_sig test into ok/failed 2023-09-02 10:44:37 +02:00
Fabrice Reix
715a56a208
Add integ test for delay 2023-09-01 09:13:49 +02:00
Fabrice Reix
06275ff775
Generate file in build/ directory 2023-08-31 13:48:49 +02:00
Fabrice Reix
9e3a9ae3b2
Fix typos 2023-08-31 12:11:00 +02:00
apparentorder
bbb8b48af0
check only for correct header format instead of exact signature value 2023-08-25 14:52:28 +02:00
apparentorder
dcbcab1a0b
explicitly set user-agent, as it may be part of the signature 2023-08-25 07:50:38 +02:00
apparentorder
a1d7b5ef94
re-enable 'set -Ee' and temp. disable it to capture error code 2023-08-24 16:05:01 +02:00
apparentorder
2ca2c9a0b2
remove --aws-sigv4 option to fool integration tests on older systems 2023-08-24 15:52:01 +02:00
apparentorder
5eae6edba3
adjust the aws-sigv4 test to fake correct output on machines with too old libcurl 2023-08-24 15:18:54 +02:00
apparentorder
caa29f77fd
reformat to satisfy check 2023-08-24 15:18:53 +02:00
apparentorder
82e5d01f8f
reformat to satisfy "black" check 2023-08-24 15:18:53 +02:00
apparentorder
70a64f5c67
reformat to satisfy check 2023-08-24 15:18:53 +02:00
apparentorder
56d4fa4485
Add the aws-sigv4 option to generate AWS SigV4 signed requests
AWS SigV4 support is available in curl since 7.75.0 (December 2020).

Add the necessary bits for Hurl to understand this option and pass
it on to libcurl, both as a command line option `--aws-sigv4` and
as a per-request option `aws-sigv4` in Hurlfiles.

Do not emit `Authorization: Basic` when aws-sigv4 is used, as this
would take priority over the `Authorization` header generated by libcurl.
Instead, explicitly set `username` and `password` options.

Suppress removal of the `Expect:` header when using aws-sigv4, as a
workaround for curl/curl#11664.

Add a corresponding integration test.
2023-08-24 15:18:53 +02:00
Fabrice Reix
cae200a77c
Support IPv4/IPv6 address for proxy option 2023-08-12 18:01:43 +02:00
Fabrice Reix
97ceb24e8b
Replace fail-at-end option with continue-on-error option 2023-08-12 08:20:17 +02:00
Fabrice Reix
bd2c886f25
Support empty BasicAuth section 2023-08-05 09:35:19 +02:00
Fabrice Reix
06c8da4d14
Fix Cookie Query Parsing error 2023-07-31 17:17:56 +02:00
jcamiel
8a47c81b1a
Add more tests on assert errors. 2023-07-26 04:54:20 +00:00
jcamiel
967f8b9e3e
Fix isEmpty predicates for objects. 2023-07-25 14:03:49 +02:00
jcamiel
4ac825809c
Add empty sections integration test. 2023-07-17 13:59:23 +00:00
jcamiel
7a6da599c5
Support RFC-7807 application/problem+json for response body logging as text. 2023-07-16 12:18:32 +02:00
jcamiel
c5be0a88ea
Split proxy.sh and proxy_option.sh 2023-07-16 11:47:28 +02:00
jcamiel
7076961308
Add connect-to per request option. 2023-07-15 13:38:35 +00:00
Fabrice Reix
f74cd405ef
Add TAP report 2023-07-12 12:28:52 +00:00
Guilherme Puida
0357ee0386
Add isDate to existing integration tests 2023-07-11 13:31:58 +02:00
jcamiel
f2d2a6c7c8
Fix follow_redirect/follow_redirect_option curl command tests. 2023-07-11 10:59:49 +02:00
jcamiel
45bb522794
Make minor codes modification for method computing and add unit tests. 2023-07-11 10:59:49 +02:00
Matthias Seiffert
cef2e80c1a
Add integration test for 308 redirect 2023-07-11 10:59:49 +02:00
jcamiel
1463c02d05
Add support for --resolve option per request 2023-07-06 17:21:37 +02:00
jcamiel
4f6a00170a
Fix URL runtime evaluation. 2023-07-06 13:04:17 +02:00
jcamiel
264c6f290b
Make URLs strictier: must begins with http://, https:// or {{. 2023-07-05 18:28:32 +00:00
Fabrice Reix
fd8cac04d6
Export [Options] to JSON 2023-06-24 11:34:57 +00:00
Fabrice Reix
2a06ab1287
Add test integ for option --path-as-is 2023-06-22 12:38:58 +00:00
jcamiel
23f0faedb3
Add README explaining integration tests. 2023-06-21 15:54:13 +02:00
Fabrice Reix
7587fdb013
Deprecate word predicate when operator is available 2023-06-18 20:09:21 +02:00
Fabrice Reix
4500ad170a
hurlfmt failed tests 2023-06-18 18:52:14 +02:00
Fabrice Reix
cb0ce3051a
Make hurlfmt support several input files (like Hurl) 2023-06-18 14:43:36 +00:00
jcamiel
f7d7c6c6e7
Improve output integration test and add --no-output. 2023-06-17 09:59:06 +00:00
Fabrice Reix
c407a51324
Add xpath filter 2023-06-17 07:11:54 +00:00
jcamiel
18115d6427
Use CURLOPT_COPYPOSTFIELDS instead of CURLOPT_READFUNCTION/CURLOPT_READDATA.
We give the whole body once, instead of providing it by reading data with callback.
There seems to be no performance cost (in both ways, the data is memcpy), but the timings looks much better: we can see all request having "transfer" timing. Before this, requests that have body suspicioulsy have no realistic data transfer...
2023-06-17 00:39:25 +02:00
jcamiel
7d0167e9d7
Add integration test for --report-html 2023-06-17 00:12:04 +02:00
jcamiel
b49c6eb6af
Fix extra request headers logs with large body. 2023-06-16 19:14:55 +02:00
jcamiel
577fee1bfe
Use --data-binary for curl command when posting file. 2023-06-16 17:33:47 +02:00
jcamiel
97bed9188d
Rename large.* to get_large.*. 2023-06-16 13:44:52 +00:00
jcamiel
93e7daa7b9
Add timings info to very verbose mode. 2023-06-15 22:16:01 +00:00
Fabrice Reix
d97c26309b
Add proxy in Options section 2023-06-15 21:49:39 +00:00
jcamiel
886f687635
Rename integration tests option_foo* to foo_option*. 2023-06-15 17:20:09 +02:00
jcamiel
1d8f45f4b9
Fix typo in JSON export (pre_transfert vs pre_transfer, start_transfert vs start_transfer). 2023-06-15 13:00:20 +00:00
Fabrice Reix
0c1da19c03
Make regex query/filter consistent with each other 2023-06-15 12:26:37 +02:00
Fabrice Reix
bdd43c7ae4
Print error message when no file is found with --glob option 2023-06-15 10:19:34 +02:00