Then I found Bruno and fell in love. Thanks for the great work!
Then I found Bruno and fell in love. Thanks for the great work!
> Hurl can run HTTP requests but can also be used to test HTTP responses. > Different types of queries and predicates are supported, from XPath and JSONPath on body response, to assert on status code and response headers.
- chain requests passing data from a request to another,
- add tests on every responses: body, headers, certificates, etc... You can use JSONPath or XPath for example,
- there is some sugar syntax to construct request bodies (GraphQL body is annoying with curl, JSON etc...),
- there is some sugar syntax for retrying requests on asserts, delaying requests etc..
Under the hood, Hurl uses libcurl so a lot of curl's options are exposed through Hurl (and we benefit of a lot of curl features like HTTP/3, IPV4/IPV6 etc... and speed and reliability of course!).
(I'm one of the maintainers)
So I turned to Bruno. I have been happy with it but there are some strange issues. Sometimes it does not save settings when I press Ctrl s. I still don't know when this happens but I lost some work a couple of times because of this.
I hope Bruno has support for separate environments and environment-level variables soon because the ability to set global variables along with environment-specific variables/overrides makes the setup much more manageable (I think there is a feature request already open for this).
PS: if this possible via some sort of external JSON/script, I am more than happy to set that up. I am just not familiar enough with Bruno tips/tricks :(
The fix for me: cmd+s only works if the left pane (Query, Body, etc) has focus
Save does not work if the right pane (Response, Headers, etc) has focus
Can't say I really miss it. I personally prefer just using a jupyter notebook for these kinds of tasks. With a custom tool like this it becomes a dead end with the data. Maybe you want to decode it if it is on a binary format. Or you want to plot some basic stats?
I’ve just switched to using hurl. Can’t be bothered with any of this nonsense with all these GUI programs
I never quite saw enough value in tools like postman. Usually either what you are doing is trivial enough for vanilla curl or complex enough to warrant reaching for a general purpose programming language.
Instead, I just hacked together a small Python library, called all the APIs from there, and pushed to Git. Everyone on my team understands it, I have 100% control, and no cloud needed.
Not sure if you're referring to Postman or Bruno. The biggest purported benefit of Bruno over Postman is that it saves API request collection files in simple, human-readable text files that are designed to be committed to a source control repo and easily shared, in a way that's not particularly tied to the Bruno app.
The demo video explains in detail: https://youtu.be/b_ctmKlEOXg
I don't have time to look at a 15 minute marketing ("BILLION dollar") video. Is it available in text form?
Does Bruno decode e.g. AVRO or protobuf? Connect to a schema server?
What is considered "human readable"? A JSON file like postman?
Could you elaborate what is the benefit of using this tool compared to a REPL/notebook?
Are you affiliated with Bruno?
I didn't know about Bruno until I saw this post on HN.
I don't have much of a problem with that. Heck, looks like Bruno has multiple tiers that they sell the product for, and it looks like a very reasonable way to make money.
The problem is this idea of "infinite growth" that modern markets demand, which results in the eventual enshittification of nearly all tech products these days. Postman could have had a very nice, reasonable business, but once they took an obscene amount of funding (nearly half a BILLION dollars, for an API client tool!!!) their fate was sealed. Beyond taking too much money, Postman clearly thought they had a much bigger moat than they actually do.