This week’s highlighted open-source project is bat. Bat is a tool that IT practitioners can use to test, debug, and interact with HTTP servers. 

It is a Go implementation of a CLI, and was inspired by the project Httpie

According to the project’s GitHub page, its key highlights include its expressive and intuitive syntax, built-in JSON support, forms and file uploads, arbitrary request data, custom headers, and HTTPS, proxies, and authentication.

JSON is the default content type used by bat, and according to the project team, it is the “lingua franca of modern web services.”  Users can also make form data the implicit content type instead, and the process for submitting forms is similar to the process for sending JSON requests. 

It also allows users to set custom headers. The bat team explained that there are a few default headers, but any of those can be overridden. 

Finally, bat allows users to specify certain proxies to be used for each protocol.