Skip to main content

Show HN: Hurl, test APIs with plain text and libcurl https://ift.tt/mD0sHiw

Show HN: Hurl, test APIs with plain text and libcurl Hi, We're happy to release a new version of Hurl [1]. Hurl is a command line tool powered by curl, that runs HTTP requests defined in a simple plain text format: # Get home: GET https://example.org HTTP/1.1 200 [Captures] csrf_token: xpath "string(//meta[@name='_csrf_token']/@content)" # Do login! POST https://ift.tt/C0cJptv X-CSRF-TOKEN: HTTP/1.1 302 Hurl can be used to get data like curl, or as an integration testing tool for JSON/XML HTTP apis / HTML content. Requests can be chained, and one can add asserts on response headers, cookies and body. For instance: GET https://ift.tt/naFj7Nk screencapability: low HTTP/1.1 200 [Asserts] jsonpath "$.validated" == true jsonpath "$.userInfo.lastName" == "Herbert" jsonpath "$.hasDevice" == false jsonpath "$.links" count == 12 jsonpath "$.order" matches /^order-\d{8}$/ You can see more samples in the documentation [2]. We've designed Hurl to be easily integrated in CI/CD (GitHub, GitLab), and its text format can be used as a documentation, commited in a repo etc... It's a single binary written in Rust, that is powered by libcurl under the hood, for a fast CLI tool for both devops and developers. In this new version, we've added the following improvements: - verbose output: add more color to Hurl --verbose output, and also added --very-verbose option to output request and response bodies - request options: command-line options such as --location (follow HTTP redirection), --verbose, --insecure etc... can now be applied to a particular request with an [Options] sections - and more, see here for a quick tout of 1.7.0 [3] [1] https://ift.tt/kq2AvzZ [2] https://ift.tt/RcQHtCr [3] https://ift.tt/4cQ6wtO Previous Show HN < https://news.ycombinator.com/item?id=28758226 > and < https://news.ycombinator.com/item?id=25655737 > https://ift.tt/kq2AvzZ September 21, 2022 at 02:43PM

Comments

Popular posts from this blog

Show HN: KittenDNS – easy to setup, rule engine, LetsEncrypt compatible https://ift.tt/JEbrc0i

Show HN: KittenDNS – easy to setup, rule engine, LetsEncrypt compatible My goal was to create a DNS server as simple as the LDAP server I've been contributing to (glauth) and here it is: https://ift.tt/i6S4IHQ A few things to know about it: - It is easy to configure using a Toml file - I am using it to bail my coredns/etcd instances when under attack - (yes, it also works as a service location server) - It comes with a simple, plain English, rule engine that doesn't do much at this point - It can be used with LetsEncrypt. I use it to retrieve certificates for my home servers. - RFC: all the nice ones :) Anyway, feedback is welcome. May 16, 2022 at 03:34AM