Sergio Díaz.

Hey Beau!

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.

Beau's logo, a Seahorse

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.

Having all of those things in mind I created Beau. Beau allows you to write a simple YAML file as configuration. It has a client written in Javascript which you can install using npm or yarn in a couple of seconds and it is completely cross-platform.

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

A gif showing Beau in action

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.

comments powered by Disqus