So I’ve been doing a lot of random experiments lately. One of them is Beau. Beau is at it’s heart a configurable http client. It was built with JSON APIs in mind. I’ve used things like Paw or Postman in the past and they are good but they are lacking in some key areas. For example, I love how extensible Paw is but not being able to share project files with coworkers in Windows or Linux makes it so I can’t use it with most of the teams I’ve worked with.
So to scratch that itch, I decided to build a simple http client for myself. I only had a couple of requirements. It should run on all platforms. It should be easy to setup and get started. Ideally the configuration is a plain text file so I can version control it and share it with others.
A simple beau configuration might look something like this:
POST /session: alias: session payload: username: seich password: password
With this simple config file, I can request a new session using the CLI:
beau -r session
That’s all it takes. It also has a couple other tricks up it’s sleeve though. You can also reference requests, so if that session request returns a token to verify other requests you can reference it like this:
GET /profile: alias: profile headers: authorization: Bearer $session.body.token
Beau understands $session is another request and it’ll execute it first before attempting to do the profile request. The command doesn’t change:
beau -r profile
Beau is still a work in progress but I feel like there is some potential to it. I’ll be improving it’s codebase and making it more extensible as time goes on. I am always open to feedback wether good or bad.
P.S. The incredibly talented, Angela Velasquez helped me out with a logo. Everyone knows a successful open source project begins with a great logo.
Have a comment? Feel free to email me.