The Wayback Machine - https://web.archive.org/web/20230731134855/https://github.com/rs/curlie
Skip to content

rs/curlie

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

This reverts commit e63e657.

The commit above introduced sane-ordering to the terminal output by
prioritizing headers first and then the response body. But unfortunately
it introduces a deadlock in cases where we have no headers to print.

Commands like `curlie` or `curlie -h` will hang.

Sometimes it also causes the program to deadlock even when headers are
present. It probably has something to do with the code failing to
properly detect where the headers' section ends. But this is difficult
to reproduce.
c589190

Git stats

Files

Permalink
Failed to load latest commit information.

Curlie

If you like the interface of HTTPie but miss the features of curl, curlie is what you are searching for. Curlie is a frontend to curl that adds the ease of use of httpie, without compromising on features and performance. All curl options are exposed with syntax sugar and output formatting inspired from httpie.

Install

Using homebrew:

brew install curlie

Using webi:

# macOS / Linux
curl -sS https://webinstall.dev/curlie | bash
# Windows
curl.exe -A "MS" https://webinstall.dev/curlie | powershell

Using macports:

sudo port install curlie

Using pkg:

pkg install curlie

Using go:

go install github.com/rs/curlie@latest

Using scoop:

scoop install curlie

Or download a binary package.

Usage

Synopsis:

$ curlie [CURL_OPTIONS...] [METHOD] URL [ITEM [ITEM]]

Simple GET:

Custom method, headers and JSON data:

When running interactively, curlie provides pretty-printed output for json. To force pretty-printed output, pass --pretty.

Build

Build with goreleaser to test that all platforms compile properly.

goreleaser --snapshot --skip-publish --rm-dist

Or with go build for your current platform only.

go build .

Differences with httpie

  • Like curl but unlike httpie, headers are written on stderr instead of stdout.
  • Output is not buffered, all the formatting is done on the fly so you can easily debug streamed data.
  • Use the --curl option to print executed curl command.

License

All source code is licensed under the MIT License.