Hurl Webscripts v0.0.1

Hurl Webscripts is a managed platform to execute Hurl.dev scripts. Hurl scripts do a lot, but to keep it short, they send HTTP/cURL requests, do assertions on the responses, and pipeline consecutive requests using previous responses.

I don’t want this to be a generic compute platform (e.g. AWS Lambda). I do want it though to grow into more use-cases, and if all goes well and according to plans, there are lots of exciting directions.

See a small showcase of the tool as of today. This is mostly for my historical records 😅


v0.0.1

I just released the very first version of the platform a few days ago (see tweet).

Initial version v0.0.1
Tweet of the initial version v0.0.1 release.

It only allowed you to type a Hurl script, run it, and see the generated reports as-is from the Hurl CLI. Albeit with some modifications and cleanup to make them to render well on my website.

A few improvements quickly followed up.

Shareable links (see tweet) allowing you to share the authored script with anyone so that you can share your masterpieces with more folks, on social media, or in your team’s Slack channels.

A new network requests timeline visual (see tweet) explaining the time each network operation took for every HTTP request of the script. You can clearly see how much time was spent in DNS Lookup, TCP Handshake, SSL handshake, waiting for server response, and transferring data.

Network requests timeline visualization
Network requests timeline visualization.

All code editors, at some point introduce some kind of split screen mode with multiple panes to allow for more things to be shown at once.

I implemented such side-by-side mode (see tweet), with the Hurl script code being on the left side, and the output on the right side. Size of each pane is configurable, and my underlying implementation supports arbitrary number of panes on each axis, so I will be doing a lot more enhancements in the layout department over time.

Side-by-side mode in mobile landscape
Side-by-side mode in mobile landscape.

Going forward

Now that the first initial version is up and running, I am able to ship smaller incremental improvements continuously. I have lots of ideas about features and different major directions this platform could go.

I will try a few things and see what will stick with the market.

There are some features I will be implementing either way:

  • Support for more Hurl options (see docs).
  • AI assistant and plenty of examples to help you write Hurl scripts.
  • Scheduled execution of scripts (e.g. run this every Tuesday at 09:00 and notify “this” email).
  • Unique invoking endpoint that will execute the script by just calling that endpoint.
  • Managing a collection of scripts and running them all together.
  • Source control versioned scripts (e.g. Github integration).
  • and many more…

I am not sure yet which major direction I will pick, but some areas I want to explore include:

  • Webhook integrations
  • Website and API scraping
  • API end-to-end testing
  • Adhoc HTTP testing
  • more to discover…

I am having lots of fun with this platform, and the more I build, the more fun it gets. Each feature I ship enables more use-cases, and makes the user-experience better, and this gives me joy.

Looking forward to productizing this soon! 💪😉