Skip to content

An HTTP server with APIs useful in testing HTTP clients. Inspired by httpbin, but isn't a clone.


Notifications You must be signed in to change notification settings


Repository files navigation

Logo Httpbun

This is an HTTP service with endpoints that are useful when testing any HTTP client, like a browser, a library, or any API developer tool. It's heavily inspired by httpbin.

Hosted at Run your own with:

docker run -p 80:80 sharat87/httpbun

A project by Shri.


There's a Taskfile.dist.yml included in the project, which is a Taskfile. Once you have task installed, running task run will start a local server from source. There's also:

  1. task build to build the binary
  2. task test to run tests
  3. task fmt to format code
  4. task docker to build binaries for building Docker image

We patch Go's standard lib a little. There's a line in net/http/server.go that delets the Host header in all incoming requests. We comment that line out during build, and uncomment it again to restore it.

So, if you're using the same Go installation for this and other projects at the same time, you may see unexpected behaviour.

The patching and unpatching is in task patch and task unpatch targets.


Contributions to httpbun are welcome, for the most part. However, I strongly urge you to open an issue to discuss whatever you're working to contribute before you start working on it. This will ensure we are on the same page and your work would be in the right place to be merged in. It'll also ensure we don't end up working on the same thing, duplicating efforts. Thanks!


If you are interested in API testing and API development, you should check Prestige out. It is a text based API testing tool with Javascript templating support. It's also open source at sharat87/prestige.


Apache-2.0 License. Project includes a NOTICE file.