Skip to content
This repository has been archived by the owner on Jul 2, 2023. It is now read-only.

alpine-docker/httpie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notes

This repo has been archived. Follow up repo at https://github.com/alpine-docker/multi-arch-libs/tree/master/httpie

httpie

If enjoy, please consider buying me a coffee.

httpie running in docker alpine (python3+pip3+alpine+httpie)

Auto-trigger docker build for httpie when new release is announced

DockerHub Badge

Additional notes on multi-arch images

This feature was added on June 25th, 2023.

  • Versions v3.2.2 and above are built with multi-arch support (--platform linux/amd64, linux/arm/v7, linux/arm64/v8, linux/arm/v6, linux/ppc64le, linux/s390x).
  • I only provide support for the linux/amd64 platform since I don't have an environment to test other platforms. If you encounter any issues with other architectures, please submit a pull request to address them.
  • There will be no difference when using the docker pull and docker run commands with other architectures; you can use them as you normally would. For instance, if you need to pull an image for the ARM architecture (such as the new Mac M1 chip), you can run docker pull alpine/httpie:3.2.2 to directly obtain the image.

Github Repo

https://github.com/alpine-docker/httpie

Daily CI build logs

https://app.circleci.com/pipelines/github/alpine-docker/httpie

Docker image tags

https://hub.docker.com/r/alpine/httpie/tags/

Notes

This is personal project to build httpie in alpine linux.

Usage

$ alias http='docker run -ti --rm alpine/httpie'
$ alias https='docker run -ti --rm --entrypoint=https alpine/httpie'

To use and persist a .netrc file:

$ alias http='docker run -ti --rm -v ~/.netrc:/root/.netrc alpine/httpie'
$ alias https='docker run -ti --rm -v ~/.netrc:/root/.netrc --entrypoint=https alpine/httpie'

A .netrc file must exist at ~ on the host.

/root/.netrc is used because httpie is run as root in the container, and it looks to the user's home directory (/root) for the .netrc file.

To use and persist a .httpie configuration directory:

$ alias http='docker run -ti --rm -v ~/.httpie:/root/.httpie alpine/httpie'
$ alias https='docker run -ti --rm -v ~/.httpie:/root/.httpie --entrypoint=https alpine/httpie'

The ~/.httpie directory on the host will be created automatically if it does not exist already. You will notice a ~/.httpie/config.json is created by httpie if one did not exist.

This will create a temporary alias. In order to make it persist reboots, you can append this exact line to your ~/.bashrc (or similar) like this:

$ alias http >> ~/.bashrc
$ alias https >> ~/.bashrc

Running HTTPie is as simple as invoking it like this:

From the official examples:

Hello World:

$ https httpie.io/hello

Custom HTTP method, HTTP headers and JSON data:

$ http PUT example.org X-API-Token:123 name=John

Submitting forms:

$ http -f POST example.org hello=World

Upload a file using redirected input:

$ http example.org < file.json

Download a file and save it via redirected output:

$ http example.org/file > file

You can supply any number of HTTPie arguments that will be passed through unmodified.

Help

HTTPie has a fairly extensive documentation available. Also, you can use its included help output:

$ http --help

The Processes to build this image

  • Enable CI cronjob on this repo to run build daily on master branch
  • Check if there are new tags/releases announced via Github httpie REST API
  • Match the exist docker image tags via Hub.docker.io REST API
  • If not matched, build the image with latest version as tag and push to hub.docker.com