Commit Graph

860 Commits

Author SHA1 Message Date
jcamiel
e55030816f Use reference in eval_template_element. 2022-01-24 16:39:06 +01:00
jcamiel
96b861191e Use reference in eval_template. 2022-01-24 16:39:06 +01:00
jcamiel
771fc97dc3 Fix doc tests. 2022-01-21 18:35:19 +01:00
jcamiel
3ef65a59f8 Use default value for ClientOptions. 2022-01-21 18:35:19 +01:00
jcamiel
3c361d7e70 Remove unnecessary clone. 2022-01-21 18:35:19 +01:00
jcamiel
8b1fd13f90 Add optional user agent to executed request or default. 2022-01-21 18:35:19 +01:00
jcamiel
e47fd99191 Add user_agent field to CliOption. 2022-01-21 18:35:19 +01:00
jcamiel
2f16ab414c Update serde 1.0.134 2022-01-21 16:01:40 +01:00
jcamiel
77b1d30408 Delete unnecessary clone. 2022-01-19 09:56:28 +01:00
jcamiel
e9d2989369 Update serde_json 1.0.75 2022-01-16 19:44:56 +01:00
jcamiel
d48e3675ff Use reference and string slice in get_header_values. 2022-01-16 19:44:40 +01:00
jcamiel
df38771685 Use default value for ClientOptions initialisations in tests. 2022-01-15 20:57:29 +01:00
jcamiel
171bc5b9aa Use from_secs build function. 2022-01-15 20:57:29 +01:00
jcamiel
e129d8fbc1 Update brotli 3.3.3 2022-01-15 20:54:00 +01:00
jcamiel
d90c891e47 Fix new clippy warnings on 1.58.
Mainly unnecessary calls to to_string on types that implements Display traits <https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args>.
2022-01-14 14:22:36 +01:00
Fabrice Reix
04ab5edadd Update crate curl to 0.4.42 2022-01-12 18:28:30 +01:00
Fabrice Reix
3f8d291857 Update crate indexmap to 1.8.0 2022-01-12 18:28:30 +01:00
Fabrice Reix
56f0a2c82b Display next request in Interactive mode 2022-01-12 18:15:54 +01:00
jcamiel
a3a500baae Update copyright for 2022 2022-01-12 17:14:40 +01:00
Fabrice Reix
e4742b11c9 Update crate sha2 to 0.10.1 2022-01-07 21:08:06 +01:00
Fabrice Reix
e12d0f1dd3 Update crate clap to 3.0.4 2022-01-07 21:08:06 +01:00
Fabrice Reix
ba3d600cc2 Update crate serde_json to 1.0.74 2022-01-07 21:08:06 +01:00
Fabrice Reix
035fbd0896 Update crate serde to 1.0.133 2022-01-07 21:08:06 +01:00
Fabrice Reix
4a4838448d Support filter with nested object in jsonpath expression 2021-12-20 21:02:25 +01:00
jcamiel
07f3fd432c Add tiny css improvments to html export. 2021-12-17 20:00:38 +01:00
Fabrice Reix
82894a8a1a Add BasicAuth section 2021-12-17 08:14:40 +01:00
Fabrice Reix
ce79951461 Update crate serde to 1.0.132 2021-12-16 20:38:41 +01:00
Fabrice Reix
a17370f9cb Use pure-Rust XML parsing/serializing for JUnit Report 2021-12-16 20:38:41 +01:00
jcamiel
85303854ea Update serde_json 1.0.73 2021-12-15 22:43:14 +01:00
Fabrice Reix
165e79054e Report error on missing closing quote for quoted String 2021-12-10 09:01:47 +01:00
Fabrice Reix
9252ca5c83 Increment version to 1.6.0-snapshot 2021-12-09 16:17:54 +01:00
Fabrice Reix
2ecb4cc5af Create release 1.5.0 2021-12-09 16:17:54 +01:00
Fabrice Reix
36361efa88 Update dependency crate serde to 1.0.131 2021-12-09 14:23:08 +01:00
jcamiel
5fbb8d051f Update with 1.5.0 man version. 2021-12-09 09:01:42 +01:00
jcamiel
36bd01089e Delete beta references. 2021-12-09 09:01:42 +01:00
jcamiel
eccd53eea8 Add crates.io specific README. 2021-12-09 09:01:42 +01:00
jcamiel
e6dd9014b1 Delete link between GitHub README and crates.io README. 2021-12-09 09:01:42 +01:00
jcamiel
39dbdbc51e Update sha2 to 0.10.0 2021-12-08 17:24:35 +01:00
jcamiel
ff817a45da Delete extern crate import. 2021-12-07 15:36:04 +01:00
jcamiel
7431c0d4d7 Add comment why we force verbose mode on libcurl. 2021-12-07 09:55:50 +01:00
Fabrice Reix
fba4357182 Adding --glob option 2021-12-06 16:56:04 +01:00
Fabrice Reix
5fd0751bd0 Update output command-line options 2021-12-03 21:39:51 +01:00
Fabrice Reix
2ae6e85f11 Update Junit Report
One testcase per Hurl file
Reuse exactly the same error message than command-line
2021-12-02 21:37:37 +01:00
Fabrice Reix
1154ea2e50 Fix clippy error redundant_closure 2021-12-02 21:00:53 +01:00
lepapareil
bdda072dda Update dependency crate clap 2021-11-30 16:58:08 +01:00
lepapareil
2eb68595a0 Add icon for exe and windows uninstall panel 2021-11-30 16:58:08 +01:00
Fabrice Reix
91cc14882a Update report 2021-11-26 21:06:03 +01:00
Fabrice Reix
6d7d9fe973 Fix Memory Allocation error (usize cast) 2021-11-26 11:30:29 +01:00
Fabrice Reix
c3718de9a3 Get libcurl version from http module 2021-11-25 21:48:25 +01:00
lepapareil
526fbd0258 Update dependency crate serde_json 2021-11-25 11:21:10 +01:00
Fabrice Reix
af6b60eec1 Using Floating-point for the Float Value 2021-11-21 21:51:09 +01:00
Fabrice Reix
00f6c78d29 Update dependency crate curl 2021-11-21 12:13:04 +01:00
Fabrice Reix
51b59fef18 Update dependency crate serde_json 2021-11-21 04:03:02 +01:00
Fabrice Reix
f26c2c57e4 Support invalid urls in curl export (verbose) 2021-11-17 14:09:20 +01:00
Fabrice Reix
d737d6075d Update dependency serde_json 2021-11-14 21:35:51 +01:00
lepapareil
6ed300b5fc Update dependency crate hex-literal 2021-11-12 14:33:29 +01:00
Fabrice Reix
809609a442 Set variables from HURL_ environment variables 2021-11-11 19:10:09 +01:00
Fabrice Reix
dd98920f80 Update output
Can now be on the following:
- Binary response body
- JSON
- Textual Summary
2021-11-11 18:24:48 +01:00
Fabrice Reix
359f153e63 Update dependency crate cc 2021-11-11 16:22:33 +01:00
Fabrice Reix
c6bf58030f Rename option --html 2021-11-08 11:30:26 +01:00
Alex
934eb8d5b4 Bump serde_json version 2021-11-07 23:06:48 +01:00
Alex
1466b567b4 Basic JUnix XML report support 2021-11-07 23:06:48 +01:00
Fabrice Reix
9ccd7d6a15 Using type definition std::os::raw::c_char
This type will be either i8 or u8, depending on the architecture
2021-11-05 11:25:44 +01:00
Fabrice Reix
901939b715 Update curl crate 2021-11-05 10:01:25 +01:00
Fabrice Reix
21a2de42f0 Escape space in filename 2021-10-29 18:40:18 +02:00
Fabrice Reix
5fdd8b93ac Add Unit Test 2021-10-29 18:40:18 +02:00
Fabrice Reix
482a2404a4 Extract filename parser in its own module 2021-10-29 18:40:18 +02:00
Alex
1cb6530c5d Add lib version to version info 2021-10-24 08:44:07 +02:00
Fabrice Reix
8398c24fe7 Display libcurl error code/message 2021-10-23 10:36:08 +02:00
Fabrice Reix
072a83228a Add Option --cacert 2021-10-21 13:21:01 +02:00
Fabrice Reix
d90c92517d Increment version 1.5.0-snapshot 2021-10-18 09:17:59 +02:00
Fabrice Reix
629e2c5d4e Create release 1.4.0 2021-10-18 09:17:59 +02:00
Fabrice Reix
e59e2acc14 Decode output as lossy utf8 for windows + tty 2021-10-17 20:33:21 +02:00
Erick Crager
b76c5519fe Support escaped spaces in filenames. 2021-10-17 16:27:05 +02:00
Fabrice Reix
b6f8797904 Parse more characters in URLs 2021-10-17 13:49:23 +02:00
Fabrice Reix
c608ff36da Refacto parsing url 2021-10-17 13:49:23 +02:00
Fabrice Reix
8be45d56a7 Add asserts in JSON output 2021-10-16 14:10:33 +02:00
Fabrice Reix
85bb81b728 Update API for error_string 2021-10-16 14:10:33 +02:00
Fabrice Reix
5882cef968 Refacto logger Error String 2021-10-15 21:48:35 +02:00
jcamiel
7277089458 Capitalize and align summary, put progress state in uppercase. 2021-10-15 14:40:06 +02:00
Fabrice Reix
925a5c08a7 Refacto JSON Serializer/Deserializer 2021-10-14 21:08:44 +02:00
Fabrice Reix
09115f3228 Support tidle in url 2021-10-14 09:17:49 +02:00
Fabrice Reix
9093325d28 Improve jsonpath support 2021-10-10 19:47:35 +02:00
Fabrice Reix
89453db871 Add /dev/null support in Windows 2021-10-08 09:31:15 +02:00
Fabrice Reix
2de25a4932 Use snapshot version for non-official release 2021-10-07 16:46:35 +02:00
Fabrice Reix
85cb26ee50 Update dep cc 2021-10-07 16:36:12 +02:00
Fabrice Reix
98632ed4c3 Update libcurl 2021-10-06 09:17:46 +02:00
Fabrice Reix
f02a849e78 Add tests for jsonpath filter 2021-09-30 09:03:20 +02:00
Fabrice Reix
a9f3f3ddcc Add option --ignore-asserts 2021-09-26 09:56:14 +02:00
Fabrice Reix
0e25f0a57a Remove deprecated option --append 2021-09-25 10:06:19 +02:00
Fabrice Reix
8acd79c33b Improve HTML output 2021-09-25 09:17:33 +02:00
Fabrice Reix
299a6ef730 Update deps 2021-09-25 09:17:33 +02:00
Fabrice Reix
4c71f7fd96
Merge branch 'master' into release/1.3.1 2021-09-11 08:35:08 +02:00
Fabrice Reix
bd540070e0 Accept hyphen in variable name 2021-09-10 17:35:23 +02:00
Fabrice Reix
187ca03698 Escape Hash(#) in hurl string value 2021-09-10 08:37:15 +02:00
Fabrice Reix
40ddfe520e add README in each crate 2021-09-10 08:17:59 +02:00
Fabrice Reix
6da5b24d98 Update dependency - crate sha2 2021-09-10 08:01:25 +02:00
Fabrice Reix
3853156b0d Update version to 1.3.1 2021-09-10 07:56:45 +02:00
Fabrice Reix
232bcbd535 Update version 2021-09-03 11:23:43 +02:00
Fabrice Reix
cf2fd14aea Add Test number in progress mode 2021-09-02 18:42:37 +02:00
Fabrice Reix
69aec13eb4 Fix clippy for Rust 1.54.0 2021-09-02 18:41:50 +02:00
Fabrice Reix
1041770933 Update deps 2021-09-02 18:41:31 +02:00
Fabrice Reix
828c64b440 Activate test mode 2021-07-28 21:29:40 +02:00
Fabrice Reix
6f2ec988ae Add --progress option 2021-07-27 18:18:14 +02:00
Fabrice Reix
8e8d3fad09 Add summary option 2021-07-27 17:19:15 +02:00
Fabrice Reix
bde283f6c3 Fix parsing json body 2021-07-25 11:01:04 +02:00
Fabrice Reix
018cb97519 refacto CLI Options 2021-07-24 13:45:36 +02:00
Fabrice Reix
882a49a53c Fix clippy warnings (in tests) 2021-07-24 11:20:14 +02:00
Fabrice Reix
eda411ed9d Update dependencies 2021-07-24 09:42:46 +02:00
Fabrice Reix
ef4f075074 Simplify JSON/HTML report generation 2021-07-24 09:34:58 +02:00
Fabrice Reix
47ae21f6df add endsWith predicate 2021-07-16 08:18:58 +02:00
Fabrice Reix
3a25d516ab Add md5 query 2021-07-14 21:38:15 +02:00
Fabrice Reix
9ea39c7cdb Update dependencies 2021-07-14 21:07:07 +02:00
Fabrice Reix
1b30968c95 Support startsWith and contains with bytes 2021-07-07 15:44:48 +02:00
Fabrice Reix
6d4308df73 Add hex body 2021-07-04 18:49:20 +02:00
Fabrice Reix
205284591c Update dependencies 2021-07-04 08:54:59 +02:00
Fabrice Reix
47e15c6f52 Treat warnings as failures even in tests 2021-07-03 14:52:47 +02:00
Fabrice Reix
b82e925ce7 Remove Warnings in C
Annotating param with __attribute__((unused)) is not supported in windows build
2021-07-03 14:20:56 +02:00
Fabrice Reix
2fee06d379 Clean html output 2021-07-03 13:23:53 +02:00
Fabrice Reix
4fe77e284d Add predicate value base64 2021-07-02 18:51:58 +02:00
Fabrice Reix
d9630ed685 Add raw string in predicate value 2021-07-01 20:02:47 +02:00
Fabrice Reix
0dd0942435 Add PredicateValue public type 2021-06-29 18:31:05 +02:00
Fabrice Reix
e3952b8d84 Improve error message with suggestions 2021-06-28 20:02:44 +02:00
Fabrice Reix
31809edb9f Add notEquals query (!=) 2021-06-27 14:00:19 +02:00
Fabrice Reix
609868c858 Add subquery count
predicate countEquals becomes deprecated and is replaced by count ==
2021-06-27 09:20:03 +02:00
Fabrice Reix
424f8a59a0 Fix json export for less predicate 2021-06-24 20:29:19 +02:00
Fabrice Reix
559e9d9192 Improve url parsing error 2021-06-19 14:20:14 +02:00
Fabrice Reix
8844c1e60a Add operators for arithmetic predicates 2021-06-19 08:52:45 +02:00
Fabrice Reix
2b0a38846a Improve assert Error for bytearray 2021-06-17 22:20:06 +02:00
Fabrice Reix
5faea0811a Add parsing error for odd number of hex digits 2021-06-17 21:54:25 +02:00
Fabrice Reix
ead46740ab Add sha256 query 2021-06-17 20:28:13 +02:00
Fabrice Reix
93c2fede66 Add bytes query and equals predicate for bytearray 2021-06-16 21:13:17 +02:00
Fabrice Reix
e9d00d42b3 return "real" HTTP request sent from HTTP client
Log in the json session all the headers sent by the client
2021-06-15 21:26:11 +02:00
Fabrice Reix
651e823a0b Specify Host in CouldNotResolveHost Error 2021-06-12 09:21:58 +02:00
Fabrice Reix
fa46137ebe Improve error message for countEquals predicate 2021-06-11 08:37:37 +02:00
Fabrice Reix
ae83a4cb52 Improve HTML report 2021-06-10 19:54:07 +02:00
Fabrice Reix
2f18340f00 Initialise Error Handler with a native "silent" callback
The callback can not be implemented because it needs to be variadic
2021-06-03 09:14:03 +02:00
Fabrice Reix
58e11a4acc Parse httpOnly cookies from cookie storage 2021-05-25 13:43:34 +02:00
Fabrice Reix
f9f3f55baf Output curl command for each request at runtime 2021-05-23 09:44:38 +02:00
Fabrice Reix
54e5d0a35f Refacto http client
Get closer to curl cli
2021-05-16 19:12:39 +02:00
Fabrice Reix
19857abf6b Update to Rust 1.52
fix new clippy warnings:
- inconsistent_struct_constructor
- manual_map
- copied
2021-05-14 14:26:54 +02:00
Fabrice Reix
ee47df6213 Fix new clippy warnings (Rust 1.51)
- upper_case_acronyms
- redundant_slicing
- vec_init_then_push
2021-03-28 09:51:21 +02:00
Fabrice Reix
2c84f299db Fix parsing quote in quoted template 2021-03-22 14:41:10 +01:00
Fabrice Reix
1d3a8ab664 Refacto parsing with template module
TBC: Performance issue when calling reader.is_eof()
Check len() call for a large vector.
2021-03-20 11:36:46 +01:00
Fabrice Reix
7ec43282ee Update Unit tests 2021-03-20 11:34:25 +01:00
Fabrice Reix
4f6750b41b Add test connect-timeout 2021-03-08 13:22:27 +01:00
Fabrice Reix
902ce4f897 Update version to 1.3.0 2021-03-03 13:39:02 +01:00
Fabrice Reix
68be658648 Type input variables 2021-02-25 20:47:46 +01:00
Fabrice Reix
6164c13737 Fix Reading body file bytes 2021-02-24 20:22:37 +01:00
Fabrice Reix
4df5f052b4 Run cargo tests in windows ci 2021-02-23 18:53:29 +01:00
Fabrice Reix
99b811fa70 Run Tests integ in windows
Decode hurlfmt output and error stream as text
supports both UTF-8 and UTF-16, both with and with BOM

Add optional os-specific expected error file
2021-02-16 09:13:17 +01:00
Fabrice Reix
6827671944 use crate colored in order to support Windows 2021-02-15 11:45:19 +01:00
Fabrice Reix
a60f054cc0 Support wildcard in jsonpath 2021-02-15 10:52:04 +01:00
Fabrice Reix
1f4e9e2a8b cargo fmt 2021-02-12 10:56:32 +01:00
Fabrice Reix
13bd92d27d Fix clippy unnecessary-wraps 2021-02-12 10:54:27 +01:00
Fabrice Reix
4f6e2a72ab Add documentation, homepage or repository in manifest 2021-02-10 20:17:10 +01:00
Fabrice Reix
d886a10a94 Update Licence identifier
unknown license from cargo publish
2021-02-10 20:12:17 +01:00
Fabrice Reix
2d7cd55a2e Support Hurl File encoded with UTF8 BOM 2021-02-10 19:53:09 +01:00
Fabrice Reix
54ac4babdf Update version to 1.2.0 2021-02-08 10:33:10 +01:00
Fabrice Reix
89f0968164 Set libcurl handle attributes in the execute method
Instead of the init method, so that they can be applied after the reset
2021-02-07 14:34:30 +01:00
Fabrice Reix
12aecfec1e Keep extra description from libcurl for SSL Certificate errors 2021-02-07 12:12:05 +01:00
Fabrice Reix
af75640fdd Add explicit error for invalid utf8 encoding 2021-02-03 20:10:32 +01:00
Fabrice Reix
874507578f Interactive mode not supported (yet) in windows 2021-02-02 18:53:25 +01:00
Fabrice Reix
5bdbe73163
Merge pull request #131 from Orange-OpenSource/feature/add-option-interactive
Add --interactive option
2021-01-24 17:15:28 +01:00
Fabrice Reix
379bd5aac2 Accept more characters in the cookie-value 2021-01-22 07:49:48 +01:00
Fabrice Reix
5b17e6f9ee Accept '.' in cookie-value 2021-01-18 20:00:47 +01:00
Fabrice Reix
da2dc6493b Add --interactive option 2021-01-16 17:23:39 +01:00
Fabrice Reix
6775014692 use i32 instead of u32 for windows 2021-01-14 20:26:57 +01:00
Fabrice Reix
07856bd820 Remove unnecessary lines 2021-01-14 18:21:45 +01:00
Fabrice Reix
eef4568e3f Support windows separator 2021-01-14 13:49:37 +01:00
Fabrice Reix
836ad872a7 do not create test files in /tmp anymore 2021-01-14 08:18:54 +01:00
Oraoto
46df63c0bd Fix cookies_input_file argument name mismatch 2021-01-11 21:13:07 +08:00
Fabrice Reix
d10045e320 Add option --variables-file 2021-01-09 20:31:26 +01:00
Fabrice Reix
8b12a574a6 Support template in json for null, boolean and numbers 2021-01-09 18:32:31 +01:00
Fabrice Reix
2589d46647 Specify explicit version for all your dependencies 2021-01-09 09:51:00 +01:00
Fabrice Reix
1c53be8119 Add metadata to Cargo.toml 2021-01-09 09:19:24 +01:00
Fabrice Reix
9518d158e8 Fix clippy warning 2021-01-05 08:18:08 +01:00
Fabrice Reix
35f0516b65 Update version to 1.1.0 2021-01-05 07:55:20 +01:00
Fabrice Reix
018ed06b75 Fix clippy warnings 2020-12-13 14:57:20 +01:00
Fabrice Reix
833e2bf157 Fix html export 2020-12-05 12:04:35 +01:00
Fabrice Reix
f3fd06945f Fix json export 2020-12-05 12:04:35 +01:00
Fabrice Reix
08fa600764
Merge pull request #106 from Orange-OpenSource/feature/update-rust-1.48.0
Update Rust 1.48.0
2020-12-05 11:46:41 +01:00
Fabrice Reix
3be178ed24 Fix clippy warning 2020-12-05 11:38:36 +01:00
Fabrice Reix
7588929755 Fix typo in json export 2020-11-30 15:38:44 +01:00
Fabrice Reix
79713ef647 Make predicates with numbers "arithmetic"
floats and integers can be replaced with each other
jsonpath "$.count" equals 5
jsonpath "$.count" equals 5.0
2020-11-29 17:34:30 +01:00
Fabrice Reix
367a26bf11 Add predicates for types 2020-11-28 18:36:51 +01:00
Fabrice Reix
842f3f6189 Parse extra dot in jsonpath expression
example: $.store.book.[0].title
not really standard
but parsed by jsonpath.com
2020-11-28 17:39:23 +01:00
Fabrice Reix
c3b6f85fde Add duration query 2020-11-22 08:55:07 +01:00
Fabrice Reix
91f0d244bf Add duration in the http response 2020-11-22 08:40:28 +01:00
Fabrice Reix
def109d673 Add comparison predicates 2020-11-21 17:28:31 +01:00
Fabrice Reix
104d6a2b43 Update version to 1.0.0 2020-11-17 09:16:22 +01:00
Fabrice Reix
22ef5583dc Use --format instead of --output 2020-11-16 22:18:16 +01:00
Fabrice Reix
0c2b439b3c Update format to html 2020-11-16 21:34:38 +01:00
Fabrice Reix
b9f1efd174 Update hurlfmt usage 2020-11-15 17:08:49 +01:00
Fabrice Reix
d0b31ee7ff Fix Linter 2020-11-15 17:01:31 +01:00
Fabrice Reix
9ce30efcda Export AST to json (continued) 2020-11-11 18:17:45 +01:00
Fabrice Reix
7798c8dcf9
Merge pull request #77 from Orange-OpenSource/feature/report-html-simplify-usage
Simplify usage for html report
2020-11-10 08:03:26 +01:00
Fabrice Reix
b0fea5a029 Simplify usage for html report 2020-11-10 07:52:09 +01:00
Fabrice Reix
1956ebcd94 Support user in url 2020-11-10 07:35:27 +01:00
Fabrice Reix
5634d29105 Update data file 2020-11-09 20:24:08 +01:00
Fabrice Reix
17301e0a76 Fix include headers to standard output 2020-11-08 15:33:03 +01:00
Fabrice Reix
42cff4055c Add json export for AST 2020-11-07 20:42:22 +01:00
Fabrice Reix
6a16e68900 Add your own json serializer 2020-11-07 20:42:22 +01:00
Fabrice Reix
92db6e505d Implement Display Trait in core 2020-11-07 20:39:18 +01:00
Fabrice Reix
9bf8d2e64f
Merge pull request #68 from Orange-OpenSource/feature/ignore-implicit-http-code-assert
Add wildcard to disable http status code assert
2020-11-03 23:14:31 +01:00
Fabrice Reix
698b6dcca6 add wildcard for http status code
in order to ignore implict assert on status code
2020-11-03 20:34:12 +01:00
Fabrice Reix
8fe2e3daf3 Add multipart form data params to json export 2020-11-03 20:32:52 +01:00
Fabrice Reix
d18358b2b7 Reorganize code between hurl and hurlfmt 2020-11-03 07:41:48 +01:00
Fabrice Reix
946482e45d Remove unused dependencies 2020-11-02 18:52:20 +01:00
Fabrice Reix
fb312a8b73 Split project into multiples packages 2020-11-02 18:30:13 +01:00