Live data from Hacker News

Show HN: A Swiss army knife for testing HTTP from the terminal

news.ycombinator.com

11–20 of 47 posts

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#11
post #8

Other than pretty printing the output, what does this offer that curl doesn't already do?

A few things :)

Syntax highlighting

Request performance waterfalls

Built-in JMESPath queries for JSON (same syntax as in AWS CLI). XML and HTML can be queried too.

Ability to set checks on the response. This one is super handy for quick acceptance tests.

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#12
post #3

> npm install Sorry, lost me at this part. Have a better installation story like a single executable. Beyond that, what does this do that curl, wget, et al do not? How is your interface better than those? Is it robust in the face of errors? What http protocol versions does it support?

> Have a better installation story like a single executable.

Holy guacamole this is an entitled sentiment. It’s an open source project and it’s free.

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#13
post #5
post #3

> npm install Sorry, lost me at this part. Have a better installation story like a single executable. Beyond that, what does this do that curl, wget, et al do not? How is your interface better than those? Is it robust in the face of errors? What http protocol versions does it support?

if you’re on a Mac, Artillery has a Homebrew formula too. We have an official Docker image too. Other ways of installing are on the roadmap too (self contained tarballs and binaries). As to what it does better than curl/wget. Probe is geared towards interactive use with HTTP APIs. So you get syntax highlighting and pretty printing for JSON, built-in querying, request waterfall visualizations, and ability to set expec…

https://www.artillery.io/blog/swiss-army-knife-for-http-test...

Does artillery properly escape the environment variables into json strings? I don't see how it could if you're using bash expansion in double quotes. This feature would only work with string values without spaces or special characters. Don't really see any improvement here.

https://www.artillery.io/blog/swiss-army-knife-for-http-test...

So by embedding a json query evaluator in your http client, this means that every time I iterate on my JMESPath query I'm making a new request? Is there an offline mode? What if my Json file is 200MiB? Or if the request was not idempotent?

Just saying there's good reasons why json query features are not typically built into one-shot http request tools. However, if your tool was not one-shotand you had an interactive session and cached/stored the entire result and then allow the user to interactively query it, then I could see some better value here.

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#14
post #13
post #5

Earlier quoted context omitted.

if you’re on a Mac, Artillery has a Homebrew formula too. We have an official Docker image too. Other ways of installing are on the roadmap too (self contained tarballs and binaries). As to what it does better than curl/wget. Probe is geared towards interactive use with HTTP APIs. So you get syntax highlighting and pretty printing for JSON, built-in querying, request waterfall visualizations, and ability to set expec…

https://www.artillery.io/blog/swiss-army-knife-for-http-test... Does artillery properly escape the environment variables into json strings? I don't see how it could if you're using bash expansion in double quotes. This feature would only work with string values without spaces or special characters. Don't really see any improvement here. https://www.artillery.io/blog/swiss-army-knife-for-http-test... So by embedding a…

Yeah so the JSON quoting part is something I’m pretty pleased with. We use a YAML parser (JSON is a subset of YAML) to parse those values, which is what allows for double quotes to be omitted.

Good point on iterating on the query! We already save the body into a temp file, so we can make Probe be able to run queries on a file. Adding it to the todo list. :)

(In my own workflow I use gron a lot for getting an overview of the shape of unfamiliar JSON, super handy tool)

As to an interactive shell… yes, 100%. Kicking ideas around something like that as well!

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#15
does this require Node.JS?

edit: it looks like you need to install 1276 npm dependencies to use this tool

https://github.com/artilleryio/artillery/network/dependencie...

i'll pass, the risk is unacceptable for value it offers, especially in corporate environments

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#16
post #12
post #3

> npm install Sorry, lost me at this part. Have a better installation story like a single executable. Beyond that, what does this do that curl, wget, et al do not? How is your interface better than those? Is it robust in the face of errors? What http protocol versions does it support?

> Have a better installation story like a single executable. Holy guacamole this is an entitled sentiment. It’s an open source project and it’s free.

Feedback was explicitly requested. That was my feedback on installation. It's not entitled and has nothing to do with the project being free or open source. Where'd that come from?

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#17

It would take me something extraordinary to move away from curl

Sure, if you've got muscle memory for all the flags (plus it lets you reason about all the other programs that pipe stuff to curl). I personally find myself using httpie [1] at least as much. 1: https://httpie.io/

[deleted]

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#18

It would take me something extraordinary to move away from curl

Sure, if you've got muscle memory for all the flags (plus it lets you reason about all the other programs that pipe stuff to curl). I personally find myself using httpie [1] at least as much. 1: https://httpie.io/

I think curlie is the middle ground and the best (IMO) in the space. A nicer CLI for interactive use and can use and output curl flags for scripting.

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#19
post #15

does this require Node.JS? edit: it looks like you need to install 1276 npm dependencies to use this tool https://github.com/artilleryio/artillery/network/dependencie... i'll pass, the risk is unacceptable for value it offers, especially in corporate environments

This is essentially what I was referring to with my comment below. If you can improve the installation experience such that I don't have to care that you developed with node.js, so much the better. If I were a node.js developer I surely wouldn't want my global package name space polluted like that.

npm is not for end users.

Re: Show HN: A Swiss army knife for testing HTTP from the terminal

#20
post #15

does this require Node.JS? edit: it looks like you need to install 1276 npm dependencies to use this tool https://github.com/artilleryio/artillery/network/dependencie... i'll pass, the risk is unacceptable for value it offers, especially in corporate environments

honest question to the authors: why cannot this tool not be written in JavaScript?

what technically prevents you from designing the tool independent of the Node.JS and JavaScript ecosystem?

Post reply on HN