[HN Gopher] Bruno: Fast and Git-friendly open-source API client ...
___________________________________________________________________
Bruno: Fast and Git-friendly open-source API client (Postman
alternative)
Author : ulrischa
Score : 1211 points
Date : 2024-03-09 18:29 UTC (1 days ago)
(HTM) web link (www.usebruno.com)
(TXT) w3m dump (www.usebruno.com)
| cube2222 wrote:
| That looks nice! I stopped using Insomnia after they introduced
| the forced login to save your collection and wiped all my stored
| requests...
| adhamsalama wrote:
| Have you tried Insomnium?
| cube2222 wrote:
| Huh, I didn't even know Insomnia was originally open-source.
| Thanks for this!
| dmart wrote:
| I like this a lot. Happy to support any project willing to reject
| the usual "success story" of selling out to VCs and turning your
| product into subscription-based SaaS junk.
| pkulak wrote:
| I'm the principal maintainer at work of a couple hundred bash
| scripts that use httpie and jq. I don't have a huge appetite to
| redo that work... but this certainly seems nicer!
| sureglymop wrote:
| Very tempting! But, will there be a lifetime version/license?
| Would rather pay upfront instead of ending up potentially not
| really using it much for 2 years.
| throwitaway222 wrote:
| It looks like the pricing page has lifetime licenses only.
| sureglymop wrote:
| It says "one time payment" but then it says "2 years of
| updates". I interpreted that as having to pay a second time
| two years into the future if I will want another two years of
| updates then. A bit misleading.
| spiderfarmer wrote:
| It doesn't require you to upgrade so I don't see the
| "misleading" part.
| imafish wrote:
| Not misleading - you understood it.
|
| Lifetime license does not necessarily equal lifetime
| updates. 2 years of updates is generous enough for $19.
| throwitaway222 wrote:
| It's similar to a lot of pricing plans out there. For
| example I purchased Home Designer Pro 2022 a couple years
| ago for $450 and I can use the HDP 2022 forever. They
| have, of course, HDP 2024 but I can't use that one. I can
| upgrade for an upgrade price. However I don't need to
| upgrade and am happy to just use 2022 for the rest of
| time.
| emrehan wrote:
| I created a cli postman test runner 8 years ago due to the pains
| involved in API testing: https://github.com/hantuzun/jetman
|
| It seems like the API QA developer tooling has still room for
| disruption.
| ponector wrote:
| There is an official cli tool called Newman for running the
| postman collections.
| emrehan wrote:
| Jetman was enabling writing and managing tests and it was
| using newman to run the tests.
| skydhash wrote:
| I myself use Paw [0] because it's native to MacOS, but I'm a
| little bit worried for it's longevity as it being supported by a
| SaaS business. But so far it's been great to document API for my
| personal projects.
|
| [0]: https://paw.cloud/
| jurassicfoxy wrote:
| Second vote for Paw. I also was not happy about the buyout. It
| has some quirks, but pretty awesome overall.
| aPoCoMiLogin wrote:
| the extensions and ability to write your own extensions, or
| chain request/response values is crazy. when i've switched to
| linux box from macos last year, paw.cloud (rapidapi) was one of
| few stoppers for me, that good of a software it is. also not to
| mention the integration with keychain for credentials
| encryption was nice.
|
| postman is really bad, nobody should use it. same goes for
| similar solutions, even this one.
| mberning wrote:
| Quickly turning into abandonware. I tried moving my paw library
| from one computer to another and it crashes opening the file.
| Had to start from scratch.
| thijsvandien wrote:
| Never "upgraded" from 3.4.0 and never going to. For now it
| works fine, but at some point I'm going to need to switch...
| ho_schi wrote:
| I'm envy? I'm hoping for a native GUI application for Linux.
|
| Electron looks ugly, it doesn't integrate, fails to handle
| HiDPI usually, in best case it eats a ridiculous amount of
| memory (factor 5x compared to native) and in worst case it has
| security issues due to Blink and lot of JS.
|
| _Electron is Flash for the Desktop._
| reddalo wrote:
| I agree. Whenever I can choose between a webapp/Electron or a
| native app, I'll always go with the native app.
| ozim wrote:
| Electron is the only cross platform UI that is open and using
| web standards that are not tied to a single company.
|
| It is exactly the opposite of flash.
| Shorel wrote:
| Ohh, I wish it was only a factor of five. It would even be
| acceptable!
|
| Discord the Electron app uses 1.2 GB of RAM.
|
| Ripcord the compiled client uses about 30 MB of RAM.
|
| That's a factor of over 42 times.
| retrofuturism wrote:
| Take note makers of HN. If you launch a product with this
| attitude and respect, I will pay for it in a heartbeat.
| mikaelsouza wrote:
| Damn, I wasn't sure if I cared about another postman/insomnia
| like tool, but I saw the cute dog logo, and it sold the tool to
| me. Maybe I am just silly, but that got me. Congrats to the team
| for developing it!
| quercusa wrote:
| There appears to be an _actual_ dog as well:
|
| https://www.usebruno.com/about
| bloopernova wrote:
| Aww Bruno looks like a Very Good Boy.
| 4goodapp wrote:
| Actually you're not alone in that boat, software logos play a
| lot in my adoption apparently...
| throwitaway222 wrote:
| Postman story:
|
| Layoff happened, and we didn't yet have our postman software in
| our list of services to remove employees from. This is not
| Postman's fault.
|
| One person had "deleted" all his collections and workspaces after
| the layoff to clear his laptop of all things related to our
| company. After we got an email from Postman saying our workspaces
| were deleted, I removed the laid off users. Since I removed the
| laid off user, the "trash bin" associated with them was also
| deleted. Postman support restored all the collections but the
| "environment" was gone. Which was all of our QA test keys, etc...
|
| Our Postman collections are still in shambles after that, and we
| don't have any employees to manage it anymore. While I totally
| don't hold Postman accountable - there is definitely a reason why
| "no-cloud" is a good way to go with these kinds of tools.
| sureglymop wrote:
| It makes no sense in the first place for such a tool to even
| need a login functionality and cloud saves... What's really
| needed to store information about a few http requests? Maybe a
| few kilobytes. I never understood it and I particularly don't
| understand how any company could fall for that. If they instead
| invested in teaching their engineers how to use curl even that
| would have paid off more.
| gardenhedge wrote:
| The benefit of using postman is that you can open the app,
| see your (shared) collections, easily change the params and
| hit send. Can curl be used like that?
| leosanchez wrote:
| You can use hurl which uses libcurl. You can save it to git
| and commit your hurl testa in the same repo.
| soraminazuki wrote:
| Of course you can. You can use any tool that lets you write
| down commands, run it, and edit it. Shells, editors,
| interactive notebooks like Org Mode, etc. The beauty is
| that it's just text that you can copy and paste between
| your tool of choice. You're not locked in to a single tool.
| throwitaway222 wrote:
| It's not very fun to run the auth call, then copy and
| paste the access token to the next call, and have to
| update all of your curl cmds all the time... Even if you
| use env variables, that's a horrible way to use env
| variables.
| soraminazuki wrote:
| You're making the case for automation, which happens to
| be something the shell excels at. Use unexported shell
| variables or command substitution (e.g., "$(pbpaste)").
| Directly use the result of the auth call without going
| through the clipboard if possible. Create a shell script
| if shell history isn't enough. Use interactive notebooks
| if you need something more advanced. The possibilities
| are infinite.
| throwitaway222 wrote:
| At this point, just write a script
|
| Or perhaps write a script that has some kind of GUI.
|
| Or maybe make the gui run the URL
|
| You're right the possibilities are endless. And this
| Bruno and postman or permutations of that endlessness.
| soraminazuki wrote:
| If I understood correctly, you claimed that saving
| requests, modifying it, or parametrizing it was somehow
| more cumbersome to do with curl than with a GUI. I was
| just pointing out that the shell is literally designed
| for all those use cases. And human users don't
| interactively use curl without a shell.
|
| Also, using curl and the shell allows you to
| progressively iterate. So "write a script at that point"
| was kind of the point. Though you don't need to go that
| far to just feed authentication info.
|
| GUI solutions don't have endless possibilities. You start
| and end with the exact same tool. The clicks and form
| fillings can't easily be copied around and iterated on
| unlike commands in a REPL. You can only perform tasks
| defined by the author of the application.
| gardenhedge wrote:
| This feels along the lines of the infamous Dropbox
| comment
| soraminazuki wrote:
| I was responding to a claim that essentially boiled down
| to shells can't parametrize input. How is it even
| remotely comparable to "the infamous Dropbox comment" to
| point out that shells can do that better than GUI tools?
|
| Also expecting end users to develop their own file
| syncing solution on top of FTP is unreasonable. Expecting
| software engineers to be able to use curl instead of a
| GUI form is not.
| eviks wrote:
| You're describing the same tool with a much worse UI of
| recreating the tool yourself (by everyone). There is much
| value in avoiding that, hence people use integrated tools
| even with the risks of lock in
| soraminazuki wrote:
| What UI do you need to recreate and how is it "much
| worse?" You essentially type in the same information with
| curl, but without all the mouse clicks and cursor
| movements.
| d0gsg0w00f wrote:
| Thank you. As soon as Postman asked for a login I uninstalled it
| and have been curling from text files ever since. My younger
| coworkers won't drop Postman though. Maybe this will help them
| switch.
| bisby wrote:
| The irony that I switched to Insomnia after Postman started
| demanding a login... and now I've been actively looking for
| alternatives (Bruno being on the list) now that Insomnia has
| done the same thing.
| leosanchez wrote:
| Have you tried hurl ?
| winphone1974 wrote:
| Hurl is great, especially for testing but I fear it's not
| acceptable by a huge segment of developers because of the
| lack of a UI
| adhamsalama wrote:
| Try Insomnium.
| margorczynski wrote:
| Well based on historical experience with Postman and Insomnia
| most probably Bruno will go the same way once they get enough
| users hooked in.
|
| Especially once a VC gets into the fold.
| josephcsible wrote:
| I foresee this happening too. For me to not worry about
| this, three things would have to happen:
|
| 1. Open source everything, including the parts of the code
| that are currently premium
|
| 2. Switch to a copyleft license like the GPL
|
| 3. Start accepting substantial contributions from the
| community without a CLA
|
| Then they'd be legally unable to do that kind of rug pull.
| helloanoop wrote:
| Hey there, this is Anoop - creator of Bruno.
|
| Happy to see Bruno at the top of HN
|
| We will never take VC funding. We received around 10
| inbound reach outs from VCs till date and have denied
| funding from all of them.
|
| We will remain independent and I have written about it in
| detail here https://www.usebruno.com/blog/bootstrapping
| biglyburrito wrote:
| Thank you for posting here, and also for Bruno... I'll be
| giving it a shot in the coming days, as I only learned
| about it when I read this post.
| 7fYZ7mJh3RNKNaG wrote:
| Thank you for clarifying. Just made me download it.
| bloopernova wrote:
| Please give the real Bruno a hug from this Internet
| stranger? He looks like a very good boy.
| ARandomerDude wrote:
| Recommend you copy/paste this as its own top-level
| comment on this article, so it doesn't get buried.
| Sn0wCoder wrote:
| Hi Annop. Thanks for sharing this looks like a good
| alternative to Postman. I see the company is based out of
| India (awesome) but wanted to know if the company has
| gone through the steps needed to sell to teams in the
| healthcare industry in the US/UK i.e.) HIPPA, SOX2, PCI,
| GDPR, etc....
| unmole wrote:
| > if the company has gone through the steps needed to
| sell to teams in the healthcare industry in the US/UK
| i.e.) HIPPA, SOX2, PCI, GDPR, etc.
|
| They haven't.
| jasonjayr wrote:
| If they never take possession of the user's data into
| their environment, then most, if not all of those don't
| even come into play?
|
| Like, that's kinda the whole point of offline-first,
| local-only tools, you can 100% use them in a an
| environment you control and take responsibility for. Once
| you take control of customer's data, there's a whole
| litany of due diligence that must considered, and often
| at considerable cost.
| Sn0wCoder wrote:
| While I agree with you and understand that the data is
| local only, we can only use tools approved by the
| company. I would like to suggest that my team take Bruno
| for a 3 - 6 month test drive (since Postman was unable to
| check the boxes) but cannot without approval....
| hyperthesis wrote:
| > An API client is not venture scale.
|
| Your link makes sense, and I believe you. Have struggled
| with similar issues. But who knows what the future will
| bring? Google once said "don't be evil"; Oracle bought
| Sun. Is there any way you can guarantee your future
| actions? Contracts, articles of association/company
| constitution? Maybe setup a trust or charity? I don't
| think there is.
| dumbo-octopus wrote:
| Download Insomnia 2023.5.8 and disable automatic updates.
|
| Though Insomnia doesn't work with streaming responses at all,
| which is a bit of a non-starter in the age of AI. Anyone know
| a good streaming HTTP UI?
| ponector wrote:
| Why not to do the same with postman? I still use it without
| the login.
| dotancohen wrote:
| From where do you download old Postman versions? More
| importantly, which was the last version recommended?
| dumbo-octopus wrote:
| The "Lite API" mode of current Postman is actually
| decent, it's the only GUI client I know that supports
| streaming responses, but you have to use `Content-Type:
| text/event-stream`. You can't save/share queries, but the
| local history is decent enough for local development. I
| prefer it to the Insomnia mutable fixed length saved
| query implementation for "hacking around" with many
| different APIs.
| 1vuio0pswjnm7 wrote:
| Does this describe the "streaming HTTP" to which you refer
|
| https://gist.github.com/CMCDragonkai/6bfade6431e9ffb7fe88
|
| If not, is there an example of "streaming HTTP" you could
| provide that illustrates the limitation
| dumbo-octopus wrote:
| Yes, that is that I mean. All the modern "ChatGPT" style
| API's use this, so if you're building anything that
| invokes them you can choose between buffering the entire
| response and modifying/relaying it once complete, or
| building up a toolchain of streaming-capable utilities.
|
| Of all the http-client applications I tested (Curl,
| Postman, Insomnia, Bruno), somewhat hilariously Curl has
| the best support. It will output all 'Transfer-Encoding:
| chunked' with line-by-line buffering, whereas Postman
| only supports responses precisely following the `Content-
| Type: text/event-stream` format (strictly less powerful
| than curl, as this format requires newlines in between
| events, and a bunch of overhead on top of that). The
| others buffer the entire response before displaying
| anything.
|
| The `Content-Type: text/event-stream` format is fine
| enough, but I personally prefer to just plainly chunk the
| responses and let the client choose whether to buffer
| them into memory and operate on the entire value at once,
| or interpret them live as the chunks come in. With tools
| like gjp-4-gpt (Gradual JSON Parser 4 GPT's) you can even
| interpret partial JSON objects live as they come in and
| display complex/nested data structures in a generative
| manner.
| 1vuio0pswjnm7 wrote:
| What if instead of JSON, i.e., strings of unknown length,
| used something more like netstrings.
|
| https://cr.yp.to/proto/netstrings.txt
|
| Personally I use a lame but effective simple 85.9 KiB
| static binary filter, a small C program, that removes the
| chunk sizes so the response is ready for use by other
| programs, e.g., in a pipe. Buffer is set at 8 KiB.
|
| Is there a way to experiment with one of these streaming
| JSON GPT APIs non-interactively by just sending an HTTP
| request, without need for a third party program, an
| account, use of a Javascript engine, etc.
| dumbo-octopus wrote:
| The unknown length isn't much of a problem for me in
| practice: GPT's are slow enough that getting a large
| chunk is almost impossible. I like the idea of the C
| filter, but in the end you're just piping the data to the
| program, why add the middle step? Is it to protect
| against too-large chunks in some way?
|
| I don't know a public API that returns JSON slowly, but
| you could simulate it by just taking a JSON string,
| splitting it into 3-5 char chunks, and sending each of
| those in a `Transfer-Encoding: Chunked` response at
| ~100ms intervals.
|
| Actually, now that I look at the underlying mechanism
| behind `Transfer-Encoding: Chunked`, it looks like it's
| already basically the same as the netstrings. What I'm
| referring to is the (variable length) contents of the
| netstring/chunk being sequential slices of a JSON object.
| 1vuio0pswjnm7 wrote:
| "I like the idea of the C filter, but in the end you're
| just piping the data to the program, why add the middle
| step?"
|
| Only for the flexibility to use more programs. Otherwise
| every program I use to process HTTP responses needs to be
| able to accomodate chunked transfer encoding. Plus only a
| minority of sites send chunked responses. Instead, have
| one program that does one thing: remove chunked transfer
| encoding.
|
| IIUC, what you want is uniform chunk sizes where you know
| the size before you send the request.
|
| GPTs sound annoying if they are so slow that they only
| output a few characters every ~100ms..
| dumbo-octopus wrote:
| Ah I see, I'm working a bit further up the stack from you
| so the JS runtime handles making the transfer encoding of
| the response more or less irrelevant, for any response
| with any encoding you can access `response.text()` and
| get the entire contents when they're ready, or do
| something like `for await (const chunk of response.body)
| { ... }` to work with the pieces as they roll in.
|
| > IIUC, what you want is uniform chunk sizes where you
| know the size before you send the request.
|
| I don't think so... I don't really want anything! Just a
| GUI that displays existing HTTP chunked responses as they
| come.
|
| > GPTs sound annoying if they are so slow that they only
| output a few characters every ~100ms..
|
| That's perhaps an exaggeration, but in general the speed
| and "smartness" of the model are inversely correlated.
| 1vuio0pswjnm7 wrote:
| I'm not really a GUI person nor do I use JS. I'm happy to
| see HTTP responses in textmode. I tried playing around
| with Postman and some other similar programs a while back
| in an attempt to understand how they could be superior to
| working with HTTP as text files. But I failed to see any
| advantage for what I need to do. One problem with
| GUIs/TUIs IMHO is that generally few people write them or
| modify them. And so users must look around to try to find
| one written by someone else that they like. Then they are
| stuck with it, and whatever "options" its author chooses
| to provide. Whereas with textmode programs, I can easily
| control all the aesthetics myself. Even when using other
| peoples' software, if there is something that annoys me,
| I can usually edit the source and change it.
|
| Best of luck. Hope you can find the right program for
| viewing HTTP.
| dotancohen wrote:
| It's not open source, but it's in my workflow anyway. The
| JetBrains HTTP tool is excellent, and has been getting better
| and better for quite some time.
| interbolt_colin wrote:
| Great point. I almost wrote, "why use a bru file when more
| established scripting languages and libs exist for this". But
| it seems the point here is to bridge the gap between some devs
| (maybe more junior) on a team that prefer a GUI while also
| providing a more vc/cli driven experience for the rest of the
| team.
|
| Not to mention, that bru syntax looks really nice.
| asabla wrote:
| I did something similar as well. But instead curling from files
| I've been using http-files.
|
| Depending on which project I'm working on (and customer), I'll
| be using different tools to run em.
|
| But to show you an easy example to follow, you could check out
| this jetbrains cli tool
| https://blog.jetbrains.com/idea/2022/12/http-client-cli-run-...
| d0gsg0w00f wrote:
| I think it's just the nature of how I use APIs. I do
| discovery with curl then just write a golang CLI for long
| term use. I'd probably save a lot of boilerplate using
| something like http-files though.
| gitaarik wrote:
| Hehe, always the same. Popular non-FOSS software always dies in
| these kinds of ways. That, and that it's Chrome-only, is why I
| never wanted to use Postman. I've been using RESTED [1] in
| Firefox happily for quite some time. Although I don't use it
| that much since unit tests and Django Rest Framework's web UI
| is usually sufficient for testing and debugging.
|
| [1]: https://github.com/RESTEDClient/RESTED
| hn_throwaway_99 wrote:
| Can't echo this enough. Thank you! Beyond just the login reqs
| from Postman, the whole Postman UI has become an
| overcomplicated mess in my opinion. I just want something
| simple to make remote HTTP calls. I can understand adding some
| useful extra things like variable interpolation and separate
| environments, but beyond that, Postman went way off the
| "enterprisey" deep end.
| Alifatisk wrote:
| You should try insomnia
| vorticalbox wrote:
| This also requires a login I believe
| paulryanrogers wrote:
| Not at first but as of late, yes. :(
| vladvasiliu wrote:
| You can still use it without an account, although it
| tries quite hard to get you to use one.
| piyh wrote:
| They locked users data behind a login screen a week after
| postman, then had a half assed "sorry you misunderstood
| our corrupt intentions, we'll back out the change"
| apology
| winphone1974 wrote:
| Insomnia and postman are pretty similar these days. I like
| the REST extension for VS Code and hurl
| Reptur wrote:
| 100%, its awesome. Link for those interested: https://mar
| ketplace.visualstudio.com/items?itemName=humao.re...
| myaccountonhn wrote:
| I use hurl, works absolutely great and the scripts end up
| reusable by others.
| amirathi wrote:
| When you raise $$$ - the nice little API client needs to
| become "Enterprise API Platform"
| parkerrex wrote:
| ^this
| Poliorcetes wrote:
| here's the thing, developers probably like to eat, so the
| program has to eventually make money somehow. how does this
| program plan to make money?
| croes wrote:
| https://www.usebruno.com/buy-golden-edition
| YetAnotherNick wrote:
| While I do hate Postman because its overcomplicated in
| everything.
|
| But attitude like yours has shifted people and money away from
| developer tools. Instead of all the possible tools we could
| have from many developers, we are now totally dependent on big
| tech to sponsor it, like VSCode etc. And over time it would
| move in direction that will promote another service from the
| same company like copilot and vscode.
| ryandrake wrote:
| Developer Tool Developers are hurting themselves. I think it
| is reasonable to not want to have to log in to every darn
| thing you use on the internet. Especially developer tools.
|
| Someone needs to invent a hat that developers have to wear:
| when the developer starts to write signup, login or
| authentication code, a hand pokes out of the hat and slaps
| him.
| nyanpasu64 wrote:
| Default-on telemetry as well. I'm reminded of Balena Etcher
| phoning home with the names of ISO files you flash, which
| leaks the IPs etc. of which users are creating Tor/Tails
| bootable USBs: https://gitlab.tails.boum.org/tails/tails/-/
| issues/16381#not...
| ryandrake wrote:
| Yes, telemetry too! And automatic updates. They are all
| symptoms of companies' obsession with having some kind of
| ongoing post-purchase "relationship" with their users. As
| a user, I don't want this relationship! I just want to
| buy the tool and use it, without ever interacting with
| the manufacturer ever again.
|
| If I buy a circular saw, I don't want a relationship with
| Makita. I don't want to have to log in to use it. I don't
| want it telling Makita how many boards I cut and how well
| the saw is working. No offense, but I'm just not that
| into you, Manufacturer.
| YetAnotherNick wrote:
| Judging by vscode's or copilot's or postman's popularity,
| login is not the issue. The issue is the quality of the
| tool and number of developers they can hire.
| ben_w wrote:
| "A GUI for a command line tool" is, these days, at the level
| where you can get the first 80% of the value by asking
| ChatGPT to write it for you by copy-pasting in the bits of
| the man page for the options you want.
|
| (The second and third 80%'s still need human intervention).
| _flux wrote:
| I use httpie's CLI tool for testing application/json endpoints.
| That and some jq really can make some things nice.
|
| (Apparently it has a GUI version as well, but I'm not
| interested in trying it.)
| hackernoteng wrote:
| I also have fallen back to just using curl + jq and a set of
| saved commands since both postman and insomnia have decided
| to make my life harder not easer. good old plain unix command
| line tools never fails you.
| _flux wrote:
| You may consider giving httpie cli a test drive, if you are
| dealing with json endpoints. You can put in Bearer header
| and JSON arguments quite easily with http
| localhost:1234/end/point Authorization:$bearertoken
| arg1=hello arg2:='{"a":42}'
|
| and get colorized JSON out from it. I use my script called
| Authorization to fish out the bearer token so in my case
| the call is just http ..
| "`Authorization`" ..
|
| So while one can achieve the same with some jq+curl, it
| perhaps is a bit more prepackaged in httpie.
| rozenmd wrote:
| I started using Yaak after Insomnia and Postman both decided to
| become user-hostile, it's decent: https://yaak.app/
|
| You'll never guess who makes it.
| roskoez wrote:
| Jeff Minter?
| ben_w wrote:
| Was thinking about him earlier (due to a bad pun on my
| part). Glad he's still around making games.
| staticshock wrote:
| Heyo, looks like it's Gregory Schier, the maker of Insomnia:
| https://schier.co/
| gschier wrote:
| Yes, it's me! Thanks for the mention
| staticshock wrote:
| Do you have any plans to open source the thing?
| gschier wrote:
| Not at the moment. If I decide to pursue it full time
| then probably
| quickthrower2 wrote:
| I did the same switch. Then went to the Chrome extension YARC
| https://chrome.google.com/webstore/detail/yet-another-rest-c...
| which I like for the simplicity. It does remember past queries.
| Eji1700 wrote:
| I know people don't love VS Code, but is there a reason Thunder
| Client isn't more popular? I know it's feature lacking compared
| to postman, but more so than curling?
| CharlesW wrote:
| This looks nice too, thanks for sharing! I can also recommend
| RapidAPI for macOS users.
| majkinetor wrote:
| Team options are behind the paywall. Besides, bruno is simply
| better.
| MissTake wrote:
| Not necessarily so. We don't pay but our small team still
| shares projects with the tool.
| majkinetor wrote:
| Sure, its possible, not exactly great experience though.
| icandoit wrote:
| It limits collections to 50 endpoints. I also couldn't
| immediately see how to plug tokens into variables. Bruno is
| intuitive and has no pay-to-remove limits.
| ivan888 wrote:
| vim-rest-console[0] has been my Postman alternative for years.
| It basically wraps curl and makes it super easy to make
| different requests from a single text file. Can even write YAML
| and have it converted to JSON before being sent in the body.
| Really great tool
|
| 0: https://github.com/diepm/vim-rest-console
| d0gsg0w00f wrote:
| This looks right up my a alley. Thanks for sharing!
| 4death4 wrote:
| Do you just store the entire curl command in a text file or do
| anything more complicated?
| parentheses wrote:
| I will usually take curl commands i end up calling a lot and
| use a function or script to make those calls easily. I find
| this to be way better for me personally. I feel using Postman
| teaches you only Postman. Whereas making shell tools and
| learning curl are so much more valuable. Plus, you can combine
| them with fzf, jq, fx, yq and friends to easily customize.
| jicea wrote:
| Shameless plug for Hurl [1]: it's a cli tool, based on plain
| text and curl to run and test HTTP requests. It's just
| libcurl + the possibility to chain and test response. You may
| like it! (I'm one of the maintainers)
|
| [1]: https://hurl.dev
| jimbokun wrote:
| I tend to collect little Ruby one or two liners for common REST
| calls, and now Go. Takes care of things like getting a JWT
| token and including it in the right header, as reusable code.
|
| Takes slightly longer the first time than curl or Postman. But
| much more powerful in terms of using in scripts for operations
| tasks.
| duxup wrote:
| I just liked when I could start postman and it would just start
| fast.
|
| As it is the things I test start up faster than postman who is
| ... I don't know what it was doing when I quit on it.
| nothrowaways wrote:
| Looks great
| alecsm wrote:
| I'm tired of Postman freezing when sending JSONs over a MB in
| size. I had to purge it from the system a couple times because
| the tab wouldn't even load on start up making the whole thing
| unresponsive.
|
| I hope Bruno works better in that regard.
| FlyingSnake wrote:
| Looks great!
|
| Postman dug its own grave after selling out itself for VC money.
| The "File over app" philosophy is a direction that we should be
| supporting after the Post-ZIRP VC money world.
|
| 1: https://stephango.com/file-over-app
| sakjur wrote:
| Thank you for introducing me to that wording. I quite like it,
| easy to remember and explain without needing to use industry
| lingo.
|
| It should also be easier to comply with GDPR's Right to Data
| Portability (article 20) for applications that follow the "File
| over app" philosophy.
|
| 1: https://www.edpb.europa.eu/sme-data-protection-
| guide/respect...
| throwitaway222 wrote:
| Golden Edition in the pricing page is listed twice, it looks like
| the middle column should read "Individual plan"
| michaelbuckbee wrote:
| I have nothing against this app or the other graphical HTTP tools
| like Postman, Insomnia, etc., as people clearly get value out of
| them, but personally, I've moved everything over to Hurl -->
| hurl.dev
|
| - Open source
|
| - Text files all the way down
|
| - Easily understood DSL
|
| - Easily distributed
|
| - Easily versioned
|
| - Fast
|
| Download the executable, copy the two lines below into "first-
| test.hurl" and you're up and running. GET
| http://localhost:3000 HTTP 200
|
| I realize I'm fanboying a bit here, but Hurl really has been so
| helpful for our particular use case at wafris.org where we're
| trying to support a large number of different HTTP clients. We
| can just give an integration partner access to our hurl suite and
| they're good.
| leosanchez wrote:
| +1 for hurl. Been using it from many months now.
|
| IMO only thing missing for me is a predicate that checks every
| item in the array for some condition.
| twodave wrote:
| I took a lot of inspiration from Hurl while building Nap[0]. My
| next goals for it are a UI and/or a VS Code extension.
|
| [0] https://naprun.dev
| emmanueloga_ wrote:
| curious why you decided to create that instead of using hurl?
| twodave wrote:
| For fun, of course ;)
| statenjason wrote:
| I tried Hurl after Insomnia went the way of Postman. The
| highlights you list were the strong drivers for testing it out.
| Where Hurl fell short was composing requests. Example: X.hurl
| response has authToken. Y.hurl uses authToken. Z.hurl uses
| authToken. There's no import ability[1], so you've got to use
| other tooling to copy X.hurl into Y.hurl and Z.hurl.
|
| Ultimately settled on Bruno. It's backed by readable text
| files[2] as well. The CLI works for scripting. And the GUI is
| familiar enough that I've managed to convert Postman holdouts
| at my dayjob.
|
| [1]: https://github.com/Orange-OpenSource/hurl/issues/1723
|
| [2]: https://docs.usebruno.com/bru-language-samples.html
| jicea wrote:
| Hi maintainer of Hurl [1] here! Your comment makes my day,
| thanks!!
|
| [1]: https://hurl.dev
| anonymous344 wrote:
| bruno seems really easy and good, but then.. it doesn't support
| cookies..
| masa331 wrote:
| Can someone explain what Postman or Bruno is for? I know it's
| something for interacting with apis but why would i use it. I
| interact with apis a lot with curl or wrapper in my languages but
| never really needed something else?
| abledon wrote:
| Alot of people in tech/tech-adjacent cant use CLI, need an
| easier alternative. Also, instead of having a huge .txt/.md
| recursive directory of curl commands, programs like these
| bundle up request workflows into 'collections' etc..
| epolanski wrote:
| Also it helps with documenting/testing.
| dt3ft wrote:
| Can be used to for api testing. Collections, token handling
| etc. Mostly for api testing, and collections can be shared
| among team members and source controlled.
| ericyd wrote:
| For me it's more convenient than curl for three reasons mainly:
|
| 1. Easier to organize collections of requests in a visual
| hierarchy
|
| 2. Environments mean you can use the same collection to easily
| execute against local, dev, staging, production, etc.
|
| 3. Pre- and post-execution scripts mean you can
| programmatically extract values and chain into other requests
| (think grabbing an access token from an oauth request then
| using that token for an authenticated request)
|
| It's basically just convenience features, nothing you can't get
| with other tools.
| jmopp wrote:
| As someone who uses curl and postman regularly, both tools have
| their places: I've found curl most useful for quick ad-hoc
| requests, or if I need to figure out why my service is no
| longer working. Postman I've found most useful to create a
| library of requests that are available on-hand: If I need to
| call services but I don't want to have to remember what the
| exact URL is or what the exact payload is.
| leosanchez wrote:
| Have you tried hurl ? It's kind of a mix between curl and
| Postman
| konaraddi wrote:
| It's a rich GUI for calling APIs, including rudimentary load
| testing.
| DotaFan wrote:
| I really like to use Insomnia (Bruno alike) to import all
| project API's and debug API's over Insomnia. Does the job much
| faster for me.
| serial_dev wrote:
| One more thing I don't see mentioned is that you can share
| requests with your team easily, so if you worked on an API
| integration, you can document it, share it with your team, and
| when the next time someone else needs to fix something, they
| can find something that worked at some point and has all the
| required fields.
|
| Of course you could also just check in to version control these
| requests as curl commands, so if your team has the technical
| knowhow, that's about almost the same.
|
| Or even better, you write some tests in your language to make
| these requests, then you have an integration test, too.
| midasz wrote:
| For me a big usecase is the ability to save specific requests
| and categorize / name them. It's a good way to document test
| data. If someone creates a feature which I want to test or
| debug I'd have to dig into the database to find which
| parameters I'd need to use, or I just find the right request in
| the tool.
| fuzzy2 wrote:
| To put it simply: Postman is for everything _but_ what curl is
| for. Sure it also performs the actual request somewhere under
| the hood but that's mostly irrelevant. Having a single
| integrated user interface (it could also be a text UI) to craft
| a request, sometimes sending JSON, sometimes a file, then
| sending it to inspect the result, then modifying the request
| then doing it again is very powerful. Not to mention OAuth
| /OIDC support and the like.
|
| Sometimes, you have to find out how an API works, exactly.
| Sometimes you want to test your own APIs in ways the regular
| clients do not allow.
| d4rkp4ttern wrote:
| I had the same question. My current workflow in deploying a
| REST API is to write my own thin wrapper in Python and publish
| that so people can use it. I don't know if postman/bruno saves
| me from having to write a wrapper. I also don't understand the
| deal with "collections". Maybe postman/bruno are good for
| creating a test suite ?
| afiori wrote:
| My use case (covered by postman but not Bruno _) is to test a
| code base where unit testing is not available.
|
| We have multiple environments with multiple parallel versions
| (think like dev/staging/prod and current/legacy), these
| deployments mostly have the same API with slightly different
| urls and credentials
|
| We use multiple environments to easily switch between the
| various versions both for one-off operations (like a clear
| cache call that only needs to be called few times a year in
| response to external actions) and to manually test features.
|
| I can see why not everybody would have this use case
|
| _ Iirc Bruno does not have enough environment/variables/pre-
| post-request scripting support
| benrutter wrote:
| Looks awesome! Having version controlled api collections is a
| good enough idea that it makes all other ideas seem a little
| crazy.
|
| Any idea if the CLI app is available as a standalone? Looks like
| its a "desktop app + cli" or nothing deal from what I can find.
| adhamsalama wrote:
| Doesn't seem to support advanced stuff like GraphQL, gRPC,
| WebSockets...
| lazypenguin wrote:
| Seems it does under the premium version
| sergioisidoro wrote:
| I found Bruno after Insomnia adopted the Postman strategy of
| being cloud first, with a disastrous migration - I momentarily
| lost all my local projects after an update.
|
| I've been using it for a while and I really like the offline
| first + git collaboration aspect of it. Only missing Websockets
| functionality at the moment.
| jhoechtl wrote:
| Insomnia was great. Than they more or less put of 90% of their
| users by forcing them in their cloud. Did that get any better?
| kirubakaran wrote:
| If you use Emacs, restclient is awesome
|
| https://github.com/pashky/restclient.el
| progre wrote:
| If you use VS Code REST Client is awesome
| https://github.com/Huachao/vscode-restclient
| S04dKHzrKT wrote:
| If you use IntelliJ based products, the builtin HTTP Client
| is awesome. https://www.jetbrains.com/help/idea/http-client-
| in-product-c...
| gamache wrote:
| If you use computers, Curl is awesome. https://curl.se/
| bdcravens wrote:
| In the same sense that no one needs a graphics editor
| when imagemagick is available via the command line.
| BlueFalconHD wrote:
| If you use a router, manually connecting wires to send
| data is awesome
| mordae wrote:
| For JSON based REST APIs httpie is somewhat easier to
| use.
| eddyg wrote:
| Came here to recommend this.
|
| It does just about everything you can think of, and since
| it's just "a text file", easy to store in git.
|
| The ability to easily use the _output_ from previous
| responses in subsequent requests makes for great story demos
| and /or test cases.
|
| And it's all done in VS Code, using tools/keystrokes/colors
| you already know and love. :)
| meonmyphone2 wrote:
| This is what I use, my main complaint is that it doesn't format
| json well when using restclient mode.
| joe8756438 wrote:
| Yes. yes it is. It's basically compatible with the vs code
| variant too so team compatibility hasn't been a problem.
| James_K wrote:
| I would love to see more UI done in this style. That is to say
| treating your business logic as an API and then exposing it
| publicly to clients on different platforms.
| lovasoa wrote:
| I am currently looking for a solution to run automated tests on a
| sql website generator I am working on ( https://sql.ophir.dev )
|
| I wanted to use hurl (https://hurl.dev/), but Bruno's UI seems to
| be useful while developing the tests... Has someone tried both ?
| Which is better for automated testing, including when the
| response type is html and not json?
| ushakov wrote:
| Maybe try Step CI (https://stepci.com)
| spdustin wrote:
| MQTT is in the pipeline? That's gonna be a huge deal for those of
| us working on IoT projects that also use REST for service data.
| I'll be watching this for sure.
| midnitewarrior wrote:
| Can this read OpenAPI (Swagger) specs and generate calls based on
| the service description?
| dgan wrote:
| Funny, i literally wrote an API tester a week ago for my job. It
| doesn't have a pretty syntax (in fact, it is the opposite of
| pretty, tests must be written in XML), but it does understand our
| authentication flow, and is able to not only assert the status
| codes and the returned json, but also the contents of Excel
| files, since we do lots of reporting.
|
| I haven't seen anything being able to compare excels. Also,
| usually test frameworks are aimed at developers (unsurprisingly),
| not at testers who might not be comfortable in writing scripts
| (looking at you, Katalon)
| wzulfikar wrote:
| I've replaced Postman with Bruno (dekstop app), works great so
| far! It's nice to put the collection folder in git so I can
| collaborate with others and commit the changes to the repo.
| INTPenis wrote:
| But can it handle oauth2? I had to write a httpie script recently
| just to test an oauth2 api.
| thih9 wrote:
| One thing I like doing when working with APIa is to have an echo
| server at hand.
|
| I.e. something that I can query via curl or via a network library
| that I'm using, and see in response what kind of request it
| actually received. It helps me verify that I'm making correct
| requests (and not misusing curl or a network library).
|
| Currently I google for that and use the first online result that
| comes up. Is there an open source local equivalent, or does Bruno
| offer some solution for that?
| paol wrote:
| Sounds like mockserver[0] might be what you want.
|
| [0] https://www.mock-server.com/
| cyunker wrote:
| I've been using https://httpbin.org/ to so some client testing
| and so far it has been great. They provide a docker image which
| makes it easy to run locally.
| ricekot wrote:
| I use ZAP [1] with the OAST add-on for this at the moment. I
| admit the UX isn't perfect, but it serves my purpose.
|
| If I also want control over the responses (e.g. return a 401
| status code for every fifth request), I have a custom extender
| script [2] for that.
|
| [1]: https://www.zaproxy.org/
|
| [2]: https://www.zaproxy.org/blog/2022-09-13-zap-extender-
| scripts...
| notRobot wrote:
| <?php print_r($_POST); print_r($_GET);
|
| If all you need is an echo, should be as simple as this in a
| .php file, no? Can be deployed with PHP's built-in webserver.
| emmanueloga_ wrote:
| Sound like you need https://mitmproxy.org/#mitmweb
| lelanthran wrote:
| > One thing I like doing when working with APIa is to have an
| echo server at hand.
|
| > I.e. something that I can query via curl or via a network
| library that I'm using, and see in response what kind of
| request it actually received. It helps me verify that I'm
| making correct requests (and not misusing curl or a network
| library).
|
| Did you consider using a proxy during development. A man-in-
| the-middle server that does nothing but relay and record all
| communications between client and server?
|
| I made one specifically for this use-case. See it in action (3m
| video): https://www.youtube.com/watch?v=kpsFSY-G5F0
| daniel-grigg wrote:
| The IntelliJ http client is pretty great too (after using both
| postman and insomnia) if you use IntelliJ already.
| kissgyorgy wrote:
| Here is why you should ditch Insomnia:
| https://www.youtube.com/watch?v=eqf9kD2XPn8
| rvz wrote:
| > The source code for Golden Edition features is proprietary.
|
| Here we go again. There are two versions of this tool. One which
| is "open source" and another that has additional features which
| are closed source.
|
| Not very "open-source" after all.
| bennyp101 wrote:
| There was a discussion a while back when the whole insomnia thing
| happened, where the dev points out how he aims to not go the same
| route
|
| https://github.com/usebruno/bruno/discussions/269
| zubairshaik wrote:
| Insightful read; thank you for sharing.
| burnett2k wrote:
| This looks amazing. Postman is a great tool overall, but
| definitely seems to have gotten clunky and overly engineered. I
| don't need so many damn features. 99% of use cases are just hit
| an api. Will be trying this out immediately!
| JanisErdmanis wrote:
| I just finished watching the introductory video and found the
| whole concept of PostMan and Bruno disappointing. It's baffling
| that one has to dive into the code to unearth the appropriate
| routes--a completely unnecessary and time-consuming endeavour.
| This process should be automated, ensuring that documentation and
| code are always perfectly aligned, eliminating any out of sync
| issues. The endpoints themselves should be directly accessible
| from automatically generated documentation using tools like
| Swagger. This isn't just a convenience; it's a necessity for
| efficient and effective development.
|
| So, what is the utility of tools like PostMan, Bruno and others
| when one has automatically generated docs with Swagger with which
| one can interact? As an example, you can check my current project
| where I have set docs like that (still need to add an endpoint
| field): https://peacefounder.org/PeaceFounder.jl/dev/schema
| ponector wrote:
| Imagine you have a scenario where you need to get a token
| first, then with GET retrieve an id of the item, then with POST
| create a new entity related to that id. And then you need to
| call another microservice with created id from post request.
|
| How you going to do it in swagger?
|
| And more serious question is how you going to force developers
| keep swagger up to date so I can execute such scenario?
| JanisErdmanis wrote:
| > Imagine you have a scenario where you need to get a token
| first, then with GET retrieve an id of the item, then with
| POST create a new entity related to that id. And then you
| need to call another microservice with created id from post
| request.
|
| This is a good explanation. I would however be inclined to do
| that within a script.
|
| > And more serious question is how you going to force
| developers keep swagger up to date so I can execute such
| scenario?
|
| The swagger is created automatically from the routes
| themselves so it is always up to date. To maintain endpoint
| an integration test can be written which executes the
| scenario.
| knallfrosch wrote:
| We use Swagger for internal APIs and Postman for 3rd party
| APIs.
|
| It's not like these sites serve swagger.
| hackernoteng wrote:
| Good. Postman and Insomnia have shot themselves in the foot with
| overly complex UI and a mess of managing your collection of API
| calls in some horrible format and messing up the whole sync
| process and the simple ability to run everything offline without
| login, etc. I would also add that streaming (SSE) support would
| be great.
| vsgherzi wrote:
| This is exactly what I was looking for, never understood why
| postman decided to monetize that way
| everettwilson wrote:
| Well this is fun to see. After Postman deleted my local data
| after I declined a cloud account, I started working on my own
| tool: https://github.com/EvWilson/sqump
|
| Some similar ideas - actually treats the file system as
| authoritative, runs locally, can share collections via source
| control with teammates. Difference in this case is that I used
| Lua as a lightweight scripting layer that I gave all my necessary
| tools to. So now I have a HTTP toolkit, and some for Kafka as
| well (which I use a good bit). I've been able to use it to
| replace all my API testing and development, as well as perform
| some more involved migrations and some dashboard-like actions
| (e.g. can list out resources and then check failures for each of
| their IDs).
|
| It's also just a single binary with the web UI and CLI bundled
| in, which works more for me. Still early days for the little
| tool, but hoping it could be helpful for someone else.
| Zelphyr wrote:
| Just one minor note about your website: it breaks the back
| button.
| synthc wrote:
| I prefer curl and bash for testing API's, it's less polished, but
| very flexible and it will never break or require an account.
|
| But for sharing requests in a team an app is nice. I had a good
| experience with Bruno. Bonus point for easy to store configs.
| HNArg024 wrote:
| Looks nice! Will give it a try, so I can ditch Insomnia
| n00bskoolbus wrote:
| Been using Bruno for a while now and it's done what I need, I'm
| not doing any thing crazy just testing endpoints with maybe a
| small bit of scripting afterwards. Very pleasant to use.
| AHTERIX5000 wrote:
| I've been looking for an alternative to Postman since its
| enshittification. Postman does not even work anymore if it can't
| reach internet. This looks actually useful and seems to have
| support for OAuth2 (which is the main reason I use something
| separate app instead of python/curl + sh etc)
| Crowberry wrote:
| We recently moved over to bruno (from postman) for integration
| tests, and have had a great experience so far!
|
| Pros:
|
| - DevEx is great, the experience moving between writing tests
| through text vs the client is seamless (allows different
| expertise to collaborate more easily)
|
| - Fast and has all the basic features you'd expect
|
| - Offline first
|
| - Continuous improvements being made
|
| Cons:
|
| - Somehow, if the test fails connecting with the server its a
| passed test. So watch out for that one! I really hope it gets
| fixed soon!!
|
| - Would be great to be able to dump the variables after a run
| through CLI
|
| - Failed outputs from assertions and expects could be a bit more
| verbose, but it's mostly likely the result of a dependency I
| assume
| yashasolutions wrote:
| Bruno is awesome. The import from postman thing is really what
| make the difference - it makes adoption instant (because yes
| everyone is still running on postman).
|
| Regarding long term strategy, they seems to have a valid (non
| subscription based) where you can get some very nice premium
| feature for a one-off licence price (which is the kind of
| business model we need to support - instead of the madness we
| have going today with everything is subscription)
| 1vuio0pswjnm7 wrote:
| What, if anything, differentiates an "API client" from an "HTTP
| client" (HTTP client includes TCP client)
|
| What is required to be considered an "API client"
|
| Perhaps "API client" is "HTTP client" + "JSON parser"
|
| Could "JSON parser" be a separate program
| thunderbong wrote:
| API clients mostly expect JSON responses. So, test assertions
| have to be able to parse the responses and validate them.
| zikohh wrote:
| I've had my eye on Bruno for a while but this issue with path
| parameters is somewhat annoying.
| https://github.com/usebruno/bruno/pull/484
| helloanoop wrote:
| Hey there!
|
| Thank you for the patience. We have been occupied with adding
| File Uploads and OAuth2 support in Feb and prepping for the
| Golden Edition release. This issue is priority. Hoping to get
| the PR merged soon.
| hota_mazi wrote:
| I really like IDEA's .http files [1]
|
| Very similar idea as Bruno: everything is configured in text,
| which I always find myself more productive in that full blown GUI
| where I need to tab from edit text to edit text to get anything
| don.
|
| [1] https://www.jetbrains.com/help/idea/http-client-in-
| product-c...
| Atotalnoob wrote:
| Several ides support .http files
| lostindetails wrote:
| Ah, I didn't know that Jetbrains also supports them, as I've
| been using them with vscode with the extension
| https://marketplace.visualstudio.com/items?itemName=humao.re...
| and I am happy so far.
|
| They are plaintext and can be easily diffed and they don't
| invent a totally new language.
|
| The extension also supports somewhat esoteric features like
| client certificates, which I already needed.
|
| So I'd be more interested in a comparison between bruno and
| .http than insomnia.
|
| [edit: grammar & typo]
| cynicalsecurity wrote:
| Insomnium.
| adra wrote:
| I just started to use the intellij built-in http client for my
| quick and dirty curl debugs and I gotta say it's pretty good for
| my limited needs so far.
| majkinetor wrote:
| I am using bruno on all my REST projects and the entire team is
| more than happy. We have bruno file for most endpoints
| demonstrating basic usage and as soon as something is
| problematic, someone creates bruno file in the repo and link to
| it so others can interactively discover what the problem is
| about. Since its cross platform and doesn't require any kind of
| on-boarding its joy to use and nobody complained. Previously,
| people used postman, thunder, curl and whatnot, but now everybody
| is on the same page. People created all sorts of scripts, such as
| automatic token refresh, so you jump straight to action. The fact
| that I can edit it in vscode is also amazing. Thank you.
| jonotime wrote:
| Care to share any scripts? Automatic token refresh is a feature
| I am waiting for in Bruno.
| majkinetor wrote:
| https://gist.github.com/majkinetor/2a67c78af393865e4fa7daaa9.
| ..
| superfrank wrote:
| Funny. I just found Bruno two weeks ago after getting fed up with
| Insomnia and am loving it. It feels like what Postman and
| Insomnia were when they started. Simple and to the point.
|
| There are a few minor features I miss (being able to bulk edit
| headers is the main one), but overall I highly recommend it.
| manquer wrote:
| You can do that by editing the collection file directly , Bruno
| watches for file system changes on the collection folder
| superfrank wrote:
| Ah, that's good to know. I'm definitely going to use that
| trick. I'd still love to have a first class way to do that
| though.
| fuzzy2 wrote:
| Just curious, what's your gripe with Insomnia? I find its UX a
| little clunky at times but haven't found anything limiting my
| use cases.
| divbzero wrote:
| I really like the idea of serializing requests to a Git-friendly
| text format.
|
| But if we want a Git-friendly text format, why not mimic HTTP/1.1
| request syntax as much as possible? Maybe with Jekyll-like YAML
| front matter for metadata that doesn't fit?
|
| So for _Get Users.bru_ instead of the current example of:
| meta { name: Get Users type: http seq: 1
| } get { url: https://reqres.in/api/users
| body: none } headers { Content-Type:
| application/json }
|
| We could adopt a format like: --- name: Get
| Users type: http scheme: https seq: 1 ---
| GET /api/users HTTP/1.1 Host: reqres.in Content-Type:
| application/json
| Cthulhu_ wrote:
| I've used a plugin in both VS Code and IntelliJ that is just
| that, I just saw someone else post it too:
| https://marketplace.visualstudio.com/items?itemName=humao.re...
|
| Example: GET https://example.com/comments/1
| HTTP/1.1 ### POST
| https://example.com/comments HTTP/1.1 content-type:
| application/json { "name": "sample",
| "time": "Wed, 21 Oct 2015 18:27:50 GMT" }
| Karupan wrote:
| Second this. One of the first VSCode extensions I install and
| recommend for non-devs in the team as well (BAs, QAs, etc).
| Kind of insane how human friendly HTTP 1.1 is.
| 7fYZ7mJh3RNKNaG wrote:
| Would love this
| schoenobates wrote:
| Intellij (and all the other variations) has something very
| similar to this called [0]HttpClient. Being able to commit and
| basically just read the file is very useful. You can also do
| validation and scripting with it too.
|
| [0]https://www.jetbrains.com/help/idea/http-client-in-
| product-c...
| Aeolun wrote:
| I think hurl does this?
| lb4r wrote:
| Just out of curiosity, why is the below example more git-
| friendly than the above? Smaller deltas? (and if so: why?)
| manquer wrote:
| There is reason they didn't go with YAML like syntax the author
| talks about it extensively here
| https://github.com/usebruno/bruno/discussions/360
| blah-yeah wrote:
| If you want to:
|
| store REST API requests as files, such that you can git version-
| control them
|
| may I recommend:
|
| https://marketplace.visualstudio.com/items?itemName=humao.re...
|
| super simple. just requires VS Code.
|
| Im checking out Bruno as well though, looks like a great tool
| jameshart wrote:
| The complaints about postman collection files being hostile to
| Git collaboration is valid, but I will just say: we managed to
| cobble together a reasonable workflow, persisting our postman
| collections in source control, by writing a utility that strips
| out all the guids that postman needlessly changes every time you
| do a collection export. We use Newman to run the collections in
| our CI pipelines, and as the main way to run tests locally.
|
| It's painful having to do an import/export of the collection from
| a file every time you want to modify the collection or debug a
| test, though, and the JSON files are still not entirely
| diffable/code reviewable even with the guids stripped. But it
| works - you _can_ collaborate as a team with postman without
| using their cloud.
|
| But the idea of switching to a tool that actually _wants_ you to
| work that way is definitely tempting.
| shinzui wrote:
| Hurl is better than any of those GUIs. You can version your Hurl
| files and use them for CI/CD.
| vsnf wrote:
| It's nice, but variable import from OpenAPIv3 needs a bit of
| work, compared to Postman and Insomina.
|
| Our OpenAPI spec has something like this:
| servers: - url: https://{host}/api/v2
| variables: host: default:
| someserver.example
|
| Insomnia and Postman import the collection with the host as a
| variable, centrally editable, while Bruno imported it resolved
| with no variable, so I have to edit every one of my endpoints
| whenever I change the host, which happens often in our setup.
| jrks11o wrote:
| So there are no env variables?
| nokeya wrote:
| History goes in circles. New API client appears, adds features,
| userbase grows. Forced login is added, users are angry and look
| for alternative. New API client appears...
| MBCook wrote:
| Does anyone know of any good guides to getting the most out of
| these kind of tools? I'm mostly interested in Postman since
| that's what we have to use a work.
|
| I make requests with it, have things organized in collections,
| and use a variable for JWT handling but that's as fancy as I've
| gotten and I know these tools have a lot more depth than I'm
| using.
| jonotime wrote:
| Bruno is great. I'm in the process of moving my team to it. Cli,
| gui, human readable files. They are hitting all the right points.
| And it's open source so I don't care if they close up later down
| the line. It can always be forked like insomnium. I do admit it
| is rough around the edges (bugs and a bunch of missing features)
| but there is a lot of momentum right now and devs are working
| hard. Not long before postman parity.
| tomhallett wrote:
| Do you plan on supporting SQL queries? My top 2 would be postgres
| and snowflake.
| naizarak wrote:
| I just block Postman servers in my hosts file and run an old
| version that still allows offline/anonymous mode. Works perfectly
| for my needs.
| Terretta wrote:
| I've purchased the golden copy of Bruno, not just because this is
| the right way to do software, but also because of the Bru DSL and
| git-based sharing "everything as code" model.
|
| Meanwhile, I often dev on iPad Pro with keyboard and trackpad,
| and instead of Postman, Insomnia, etc., I've enjoyed HTTPBot:
|
| - HTTPBot for iOS:
| https://apps.apple.com/us/app/httpbot/id1232603544
|
| - HTTPBot for MacOS: https://www.httpbot.io/
|
| HTTPBot even supports postman collections and environments
| including sync with postman, along with GraphQL, Websockets, and
| response metrics.
| coldtea wrote:
| > _Bruno stores your collections directly in a folder on your
| filesystem. We use a plain text markup language, Bru, to save
| information about API requests. You can use git or any version
| control of your choice to collaborate over your API collections.
| Bruno is offline-only. There are no plans to add cloud-sync to
| Bruno, ever._
|
| AMEN! I've been annoyed by Insomnia and Postman for a good while
| for these reasons exactly. My latest client of use, Thunder
| client VS Code extension also started pulling the same shit, and
| I'm cutting it off too.
| wadewatts wrote:
| I tried Bruno not long ago. Have they added request "examples"
| like Postman has? If those make it into the codebase, I'm
| switching!
| DustinBrett wrote:
| Good thing it's open source. Money being involved, I don't have
| long term hopes for it's openness.
| rgblambda wrote:
| I looked into using Bruno ever since Postman enshittened the free
| client. I ended up just installing the version of Postman pre
| collections being removed and ignoring the prompt to update.
|
| I'm struggling to remember the reason I didn't stick with Bruno.
| I think it was due to not having an equivalent to Postman's pre-
| request scripts. If that could be added, I'd certainly give Bruno
| another try.
|
| Edit: Another comment has mentioned that Bruno now has (or maybe
| always had and I just didn't see) pre request scripts.
| cliffwarden wrote:
| If you use and enjoy Bruno, please consider purchasing the
| "golden" edition that should be released in a few days.
| https://www.usebruno.com/pricing
| v3ss0n wrote:
| Check lama2 https://github.com/HexmosTech/Lama2
| tuananh wrote:
| this looks very good. i'm not sure why it's not more popular
| agrippanux wrote:
| I needed something like this today - was going to download
| Insomnia but I happened to check HN.
|
| I tried it out; it's exactly what I wanted. Postman, as echoed in
| previous comments, has gotten out of control with the upsell and
| the confusing UI.
|
| I bought the pre-order, seems like a good deal at $9, that's
| nearly the cost of a latte around here and if this works out I'll
| get a lot more use out of it than a latte.
| michaelcampbell wrote:
| The ability to SCM your "scripts" is so nice.
| hk1337 wrote:
| I am quite partial RapidAPI (previously Paw) but this looks
| really nice!
| udkl wrote:
| Paw is the best tool UI wise.
|
| Postman/Bruno/insomnia all suffer from the 'curse' of web
| design making it's way into professional tools leading to lower
| information density and higher 'white space'.
|
| I feel so strongly on the matter is why I started a project
| that is unfortunately in comatose for the past year :
| https://nokori.surge.sh/
|
| The design isn't there yet, but I'm aiming for a professional
| looking information dense UI.
| harel wrote:
| This looks great, and less bloated than Postman but after a few
| seconds of testing the Linux (Snap) version, I noticed the system
| file browser opens with what is probably an invalid font (all
| characters appear as squares).
|
| As well, it would be nice to be able to import my rather large
| postman collections (an vice versa - provide a collection from
| Bruno to a Postman user).
|
| Looking forward to when I can switch to this full time.
| cyclotron3k wrote:
| How does the Bruno snap compare to the Postman snap, in terms
| of startup times?
|
| I know snaps are slow, but the Postman snap takes forever (~16
| seconds)
| harel wrote:
| Postman snap works, and works well. It takes about 5-7
| seconds to startup. Honestly startup time doesn't matter too
| much for me. I was there when tapes transitioned to floppies.
| We learned patience then. But, it also took about 5-7 to see
| that the file browser is unusable in Bruno so I backed out. I
| am looking forward to return though when it's fixed and I can
| create a collection.
| YouAreADork wrote:
| Is this native or an electron app?
| grounder wrote:
| The Insomnium (fork of Insomnia) might be a good alternative to
| compare. https://github.com/ArchGPT/insomnium
| darylteo wrote:
| This would complete the e2e DX if you could generate SDKs from
| .bru. Even if it's through a openapi export, I'm sure it will
| happen eventually.
|
| I'm sure Bruno is still in the 1st phase of enshittification, but
| at least with local .bru files we can ensure longterm
| maintainability.
|
| On the other hand, devs are most likely the stingiest individuals
| on the planet that expect all of their tools to be free. So I
| respect the team for even releasing it open source in the first
| place.
| adobrawy wrote:
| It looks great. Postman always loses me because I usually only
| need simple requests and I have to go through a big structure. As
| a result, it only ever edits one request over and over again,
| which I have configured correctly.
|
| The key thing about Postman is that I was able to configure my
| own script to refresh the API token. For the internal API, we
| have a short-lived "access_token" token (~1 minute) and then a
| long-lived "refresh_token" (~1 day) based on the user's email
| address and password. When renewing the token, you receive
| information about its lifespan. You cannot create a new scratch
| token every time because you will be rate limited. I put all that
| logic in Postman hook script.
|
| Making these HTTP requests in Curl - due to token refreshing - is
| painful.
|
| Will Bruno support this use case?
| adolph wrote:
| curl + shell $ eval $(stat -s refresh_token);
| #set some stat vars, will use change time st_ctime $ if [
| $(expr $(date '+%s') - $st_ctime) > 86400 ]; then rm
| refresh_token; fi $ if [ ! -f refresh_token ]; then
| ./get_refresh_token.sh; fi
| majkinetor wrote:
| See my script here:
| https://news.ycombinator.com/item?id=39655266
| jonS90 wrote:
| This makes me think of an alternative that no one seems to be
| mentioning: http/rest files. They're git-friendly and there are
| community plugins to operate them from every major IDE.
|
| I believed the standard was created by jetbrains.
|
| https://www.jetbrains.com/help/idea/http-client-in-product-c...
| helloanoop wrote:
| What sets Bruno apart?
|
| Nice GUI Clients: Postman, Insomnia, Paw (ease of use)
|
| Nice CLI Clients that use plain text files: Jetbrains Http
| Client, Hurl, Httpie (privacy)
|
| Bruno: The only GUI client with a Nice UI that works on top of
| plain text files
|
| It's the best of both worlds.
| devsda wrote:
| > Nice CLI Clients that use plain text files: Jetbrains Http
| Client, Hurl, Httpie
|
| In what way is Jetbrain's http client a CLI tool ? There's
| also vscode rest client.
|
| There's no need to shortsell other clients. I think Bruno has
| sufficient differentiators to standout on its own.
| helloanoop wrote:
| Sorry if it came across as trying to shortsell. I was just
| trying to point out the key thing that makes Bruno unique
| in the ecosystem
| jicea wrote:
| I'm the maintainer of Hurl and was really graceful to be
| cited by you!
| wenbert wrote:
| Oh yes. This one is Jetbrains only but there is also a VScode
| alternative for this. There is a plugin called httpyac and I
| believe it also supports the same kind of configuration (???)
| and variable syntax. It's great not switching to other apps for
| making an http request.
| helloanoop wrote:
| Hey everyone, this is Anoop - creator of Bruno. Happy to see
| Bruno at the top of HN!
|
| I will try to address some common questions in this comment.
|
| > Well based on historical experience with Postman and Insomnia
| most probably Bruno will go the same way once they get enough
| users hooked in. Especially once a VC gets into the fold.
|
| We will never take VC funding. We received around 10 inbound
| reach outs from VCs till date and have denied funding from all of
| them. We will remain independent and I have written about it in
| detail here https://www.usebruno.com/blog/bootstrapping
|
| > I didn't stick with Bruno. I think it was due to not having an
| equivalent to Postman's pre-request scripts.
|
| Bruno has come a long way, we support pre-request scripts and a
| lot more
|
| > But can it handle oauth2? I had to write a httpie script
| recently just to test an oauth2 api.
|
| We have released oauth2 support, some rough edges are being
| polished
|
| > Good thing it's open source. Money being involved, I don't have
| long term hopes for it's openness.
|
| I understand this is a hard problem. We are fully bootstrapped
| and independent. We earn money via selling the Golden Edition. We
| will build more developer products in the long term, and the goal
| is to make even the golden edition features also open source in
| the future. I am committed to this cause.
|
| > History goes in circles. New API client appears, adds features,
| userbase grows. Forced login is added, users are angry and look
| for alternative. New API client appears.
|
| I have felt this pain. That's one of the reasons why I denied VC
| funding and chose to remain independent. Having seen 10 years of
| this cycle, its enough. We don't want to repeat the same saga.
|
| Some good links where I have discussed about opensource, freedom
| and monetization
|
| - https://www.usebruno.com/blog/bootstrapping
|
| - https://github.com/usebruno/bruno/discussions/269
|
| - https://www.youtube.com/watch?v=7bSMFpbcPiY
|
| We are also working on standardizing and improving the Bru Lang
| to bring more features in Bruno. See: https://www.brulang.org/
|
| If you'd like to pre-order the golden edition:
| https://www.usebruno.com/pricing
|
| Thank you for all the love and kind words, HN!
| nitinreddy88 wrote:
| Thanks for the awesome work. Pre-ordered one to support
| BlueFalconHD wrote:
| Did you design the logo? I saw it and immediately wanted to buy
| a license! Great product!
| helloanoop wrote:
| Logo is from openemoji:
| https://openmoji.org/library/emoji-1F436/
|
| The real Bruno looks like the logo too :)
| https://www.usebruno.com/about
| tolien wrote:
| > The real Bruno looks like the logo too :)
| https://www.usebruno.com/about
|
| More places need a CJO!
| BlueFalconHD wrote:
| agreed
| freedomben wrote:
| Thank you for the information and the commitment to open
| source. I know the Gold edition isn't open source under an OSI
| license, but is it source available for people who purchase it?
|
| I'm strongly considering buying it because it's not a
| subscription, and is open source. As a general rule, I don't
| buy proprietary software anymore after having been burned in
| the past. I have no issues with open source software that has
| proprietary features as a way to make the project sustainable,
| if they are source available for paying customers, and personal
| modifications are allowed. Obviously redistributing any of that
| code, even my own modifications, would not be acceptable and
| would violate the license.
|
| You mentioned that the goal is to make the Gold edition
| features open source eventually, so would you consider going
| source available?
| mr_mitm wrote:
| I love your approach and your attitude. VC funding seems to
| poison everything it touches eventually.
| fullspectrumdev wrote:
| I can't think of very many products or companies that the
| dread hand of the VC firms actually improved, unless it was
| founder/exec payouts.
| elephantum wrote:
| Anoop, first of all: thanks for your efforts, we switched to
| Bruno from Postman and are quite happy!
|
| And a question: can you share your plans about Vscode
| extension? It seems to be broken for a while, do you have
| plans/capacity to revive it?
| ec109685 wrote:
| Great write up. Curious why you didn't use xml for brulang
| since I think it would meet the requirements you set forth:
| - The need for multimaps to represent duplicate keys -
| The need for annotations to ascribe additional information
| about a key-value pair
| boarnoah wrote:
| Is there anywhere you have a written explanation of some of the
| features, especially in the paid version (love a good perpetual
| fallback license!)
|
| Its really not clear what features like:
|
| - "Performance/Load Testing"
|
| - "Load Data from File for Collection Run"
|
| etc..., are since there is no mention of those in either an
| upcoming features page or documentation.
| sberder wrote:
| I personally enjoy using restfox, OSS and in browser, it does the
| job well.
|
| * web app: https://restfox.dev/ * repo:
| https://github.com/flawiddsouza/Restfox
| snthpy wrote:
| There is also HTTPie which I've mostly been using for its
| excellent `http` CLI as a modern replacement for curl.
|
| However I recently learned that it also has web and desktop
| client apps which are pretty great too!
|
| https://httpie.io/
| okr wrote:
| While we are at it, is there a nice tool to document (foreign)
| APIs in a collaborative way? Maybe using Markup Language? Shared
| via Git? There are so many undocumented APIs there, that i use
| daily and it is good to put my annotations anywhere.
| israrkhan wrote:
| I think you may want to look at OpenAPI specs. It is yaml
| description of API and can be consumed by many tools.
| okr wrote:
| No, these APIs have mostly generated docs from code, they are
| just bad, and i want something, that is documented around it.
| Like a wiki.
| Piisamirotta wrote:
| Lately Postman suddenly required creating an account to their
| cloud, to use my five different rest requests from scratchpad. I
| got annoyed so bad that deleted that piece of cr*p immediately.
| Never looking back.
|
| Then I found Bruno and fell in love. Thanks for the great work!
| fifilura wrote:
| We used Postman but it got forbidden in our org for that
| reason, so no more.
|
| 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?
| throwaway56391 wrote:
| I've always preferred Insomnia over Postman. The interface
| fits me better. But now they also started requiring cloud
| login, so maybe I'll give Bruno a try if it degrades further
| giovani wrote:
| Insomnia has an open source fork from before all the cloud
| bulls*t: https://github.com/ArchGPT/insomnium
| 360MustangScope wrote:
| But then you have to deal with this annoying "feature" of
| it deleting your data when it feels like it. Can't tell
| you how much work I've lost to this bug.
|
| I've just switched to using hurl. Can't be bothered with
| any of this nonsense with all these GUI programs
| JeremyNT wrote:
| This has always been my approach really. Use curl for basic
| stuff, use a full featured repl for deeper exploration. I use
| Ruby but same idea.
|
| 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.
| ambigious7777 wrote:
| I can relate to this. I've tried to use Postman and
| Insomnia in the past, but the UI is pretty complicated with
| a lot of domain specific terms.
|
| 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.
| hn_throwaway_99 wrote:
| > With a custom tool like this it becomes a dead end with the
| data.
|
| 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
| fifilura wrote:
| I think it was pretty obvious I was referring to Postman.
|
| 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?
| hn_throwaway_99 wrote:
| You are putting up all these hypotheticals as if all the
| info isn't easily available on Bruno's site, and then
| declare "I don't have time to watch a 15 minute video".
| Hint, youtube 2x and transcripts are your friend.
|
| I didn't know about Bruno until I saw this post on HN.
| fifilura wrote:
| I dont know how to answer this rant. Other than that you
| missed a chance to convince me.
| hn_throwaway_99 wrote:
| Why don't you just rtfm? I'm not interested in
| "convincing" you, you're free to proudly declare that you
| refuse to read the docs, and you have an odd definition
| of "rant".
| fifilura wrote:
| I am not interested kn reading the manual.
|
| As i pointed out i am content with my solution. The one
| you were originally replying to. Replying - not in
| content but threadwise.
| tdudhhu wrote:
| Insomnia did the same. There was an option to migrate to an
| offline account but the migration did not work.
|
| 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.
| yard2010 wrote:
| Imagine this cloud enshitification reaches everything else. You
| need a cloud account to curl or wget, use ffmpeg or simply sed
| lol
| ParetoOptimal wrote:
| Emacs, org-mode, and restclient-mode will be there :)
| cedws wrote:
| Crunch of capitalism. Anything that provides value can be
| turned into something that generates money. Not many people
| will walk away from money out of the goodness of their heart.
| hn_throwaway_99 wrote:
| > Anything that provides value can be turned into something
| that generates money.
|
| 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.
| BlueFalconHD wrote:
| Love the cute puppy logo!
| midasz wrote:
| I've been using it for a month or so at work and I love how
| simple and fast it is. I need to dig into the advanced features
| but it's already useful.
| corytheboyd wrote:
| I've been happy with Postman, but it has gotten ridiculous
| lately, and I would ditch it in a heartbeat. It's so painfully
| obvious that postman has turned into a money generating corpse. A
| good API testing tool isn't rocket science, go forth and eat
| their lunch :) $9 for a perpetual license is a pretty damn good
| deal, and a total slap in the face to postman and insomnia, you
| have my pre-order!
| dphuang2 wrote:
| This is awesome, the postman collection format is not version-
| control friendly. I love what Bruno is doing!
| tobase wrote:
| Switched from Insomnia around one year ago! Really like Bruno :)
| pulkitsh1234 wrote:
| Can someone help me understand the difference between the .bru
| file and an OpenAPI spec (Swagger), aren't they representing the
| same thing with different syntax?
| karpovv-boris wrote:
| | aren't they representing the same thing with different
| syntax? - yes, they are
| isbvhodnvemrwvn wrote:
| Not quite, openapi doesn't interact with variables and can't
| contain scripts or assertions.
| _kidlike wrote:
| Why not the .http files that IntelliJ and VSCode have implemented
| for years now?
|
| This should've become the standard by now.
| 8bitme wrote:
| It may already be the case but it's not clear. If Bruno supported
| importing Postman collections it would be an easy decision moving
| across
| helloanoop wrote:
| Yes! Bruno supports importing postman collection's
| elric wrote:
| Good to see some more open source competition in this space.
| SoapUI had most of those features some 15 years ago. I never
| understood why Postman became so popular, my current team even
| throws money at them.
| pjmlp wrote:
| Basically because of "blah but it is Java!" kind of argument.
|
| SoapUI is great.
| throwaway56391 wrote:
| And the "SOAP" part of the name is not helping either.
| antxxxx wrote:
| I found it uncomfortable to watch it making a request once
| someone pointed out to me that it highlighted letters in
| the order SOPA when waiting for a response
| pjmlp wrote:
| I find interesting on how on a startup related forum, anything
| related with not paying is always celebrated.
| Merik wrote:
| Generating revenue through the creation of value via innovation
| is great; using dark ux patterns to extract revenue from a
| captive user base, not so much.
|
| I think in cases like postman, people don't like when features
| they previously had used for free suddenly comes with a price
| tag; rather than innovate and create new value that is worth
| paying for, some companies are opting to take away features
| user previously had. Yes, they own/control the software and
| want to make money , which fine, but they created a
| dissatisfying user experience as they tried to coercively move
| users into their cloud offering, wether they wanted to or not,
| and regardless if it provided user value. After they did that,
| they shouldn't be surprise a portion of their user base decide
| to ditch the product and complain about the experience. This is
| compounded by the fact that they leveraged the contributions of
| an open source community, and at the same time there are other
| options freely available that aren't locked into a proprietary
| cloud login.
| throwaway220033 wrote:
| Great to see most people are smart enough to not apply same
| model on all problems in their life.
|
| Productivity tools better to be lean, simple, free & open
| source in some cases. This is one of those.
|
| Of course, you can keep throwing money at bulky software
| continuously making things slower and more complicated, just
| because you never have to worry about money thanks to the VC
| money. I'm old enough to not buy that this is how startups
| operate in general though.
| ianberdin wrote:
| Once CEO asked me: "why are you spending months of your
| valuable time to create a tool to solve a thing, instead paying
| $10/month?"
|
| "I know developers never pay, but why?"
| otabdeveloper4 wrote:
| It's not the money, it's the control you relinquish in the
| process. The potential costs of the risks involved are much,
| much greater than $10/month.
| jampekka wrote:
| This. Proprietary software tends to be very inflexible,
| often low quality, and difficult to integrate. Fighting
| with these often causes more work than just doing from
| scratch or adapting open source code.
| GraemeMeyer wrote:
| In my case it's because companies would rather waste 6 months
| of person-hours than get out the credit card
| sdeframond wrote:
| People who spend months of their time building open source
| represent a fraction of developers who "never pay".
|
| Why pay when there is a free, open and, if need arises,
| hackable alternatives ?
|
| Developers do pay when there is value is. See how profitable
| cloud hosting is!
| antifa wrote:
| For a lot of people, it's "Why pay $10/ month for something
| marginally more useful than a folder of bash files?"
| onion2k wrote:
| Startups are often all about disrupting an industry by lowering
| the cost of a product. If you can lower it to zero that
| demonstrates the incumbent businesses are obviously not
| providing a valuable service that's worth paying for.
| hk__2 wrote:
| https://www.usebruno.com/pricing
|
| Bruno is not free. It has a free version, but you can pay to
| have more features.
| darkstar999 wrote:
| The pay plan is "pre-order", the features don't exist yet.
| mr_mitm wrote:
| I can only speak for me, but I come here for the hacker news
| part, not the ycombinator part.
| aniforprez wrote:
| There is no universe where I see myself paying for postman. It
| was a bloated, hobbling mess that is now a chundering monster
| that has to somehow make money to satisfy VCs who invested in a
| glorified cURL interface and have to stuff it with features to
| try and entice enterprises. It is everything wrong with
| software and I welcome any lightweight alternatives
| jpalomaki wrote:
| I think one issue is that in organizations it takes effort to
| get new paid software approved and start paying for those. Even
| if the money is very small. Like engineer that costs $80-150k/y
| needs couple of tools that cost EUR50-100/y piece.
|
| Usually in organization it is much easier to just increase the
| spend on already approved vendors. Increase the AWS spend by
| $50/year? Nobody is going to ask you about it. Or start using
| some tool that does not involve payments - nobody even knows
| you are using it.
|
| It would be great if we could change that. A world where
| independent software developers could make a decent living by
| selling small quality tools would be a better place.
| mplewis wrote:
| We have all been fucked over by VC management, especially from
| YC-funded product bloat and rot. Free means it will not get
| worse by the developers adding micro transactions and
| subscriptions.
| Kinrany wrote:
| "Civilization advances by extending the number of operations we
| can perform without thinking about them."
|
| Being non-free is a defect that can always be improved, best
| technology is always free and something you don't need to think
| to use.
| madduci wrote:
| Does anyone know if it supports mTLS and maybe multiple
| certificates per domain?
|
| That would be great
| _RedPanda wrote:
| looks very good! gonna import my postman collection and give it a
| try. my collections in postman keep disappearing and reappearing
| since the required account update happened. glad there is an
| alternative now!
| nurgasemetey wrote:
| gRPC support is still paid
| vendetta_neo wrote:
| can you tell me where its shortcut is ?
| kalyantm wrote:
| I would love to show this to my colleagues, but sadly we don't
| talk about bruno (/s)
| swashbuck1r wrote:
| Bruno has been taking root in our organization (displacing
| postman).
|
| It was nice to find out about the for-pay golden edition in this
| thread to support Bruno's efforts. The feature split for free vs
| Individuals vs Organizations seems well done.
|
| As feedback to the Bruno team:
|
| for Individuals - I most value the gRPC/websocket, then load-
| testing
|
| for Organizations - My org would most value central license mgmt
| cunningfatalist wrote:
| We recently adopted Bruno at our company and I'm very happy with
| it. Versioning your requests with GIT is great, and the client is
| really nice as well.
| adonese wrote:
| how does compare to the rather resources-hog postman? My go-to
| setup for quick apis was curl with fish, as postman was growing
| it became so bloated i'd rather stick to my curl.
| FpUser wrote:
| Just discovered.
|
| Perpetual license - nice. I do not buy software subscriptions for
| my development tools. Only perpetual. In cases like Postman -
| sure I'll take free version but I was holding off from doing
| anything serious with it.
|
| All data local only - even nicer.
|
| Ported couple of requests from Postman. All works.
|
| Congrats. Unless I hit some stones during testing I will be
| buying license when available
|
| Most likely Postman will go to trash bin very soon
| jagtstronaut wrote:
| I just switched to Bruno because apparently if you have a secret
| in the "initial values" column it uploads it to their cloud
| automatically.
|
| It is cool so far. I like that it is more git friendly. I have
| noticed an increase in request time which is interesting. I
| assume because postman caches more stuff.
| wapxmas wrote:
| How come this as an alternative having "Pricing" in the header?
| Just another Postman. At least in Postman I can do Websocket for
| free.
| _obviously wrote:
| We don't talk about bruno
___________________________________________________________________
(page generated 2024-03-10 23:01 UTC)