Files
vim-ale/curlie
AJ ONeal 9f28505af7 ref: delete unreachable upstream-fetcher modules
Stacked on the modifications PR. Now that no live code path references
the per-package fetchers, the shared HTTP/parsing helpers, the
in-process normalizer, or the example template, delete them. Pure
deletion — no behavior change.

- ~93 per-package <pkg>/releases.js fetcher modules.
- _common/{brew,fetcher,git-tag,gitea,github,github-source,
  githubish,githubish-source}.js shared HTTP/parsing helpers.
- _webi/normalize.js in-process normalization layer (cache files
  arrive normalized from webicached).
- _example/releases.js fetcher template for new packages.

The Go cache daemon (webicached) is now the sole producer of release
metadata; the Node process never makes an upstream request.
2026-05-08 16:31:59 -06:00
..
2026-03-08 19:38:49 -06:00
2023-11-11 13:24:02 -07:00

title, homepage, tagline
title homepage tagline
curlie https://github.com/rs/curlie curlie wraps `curl` with modern defaults and `httpie`-like syntax highlighting

To update or switch versions, run webi curlie@stable (or @v1.6, @beta, etc).

Files

These are the files / directories that are created and/or modified with this install:

~/.config/envman/PATH.env
~/.local/bin/curlie

Cheat Sheet

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.

Headers (:) are recognized by being in the format Key-Name:Value.

JSON (=) is the default encoding for key=value pairs.

How to alias as curl

Use aliasman:

aliasman curl 'curlie'
alias curl='curlie'

This will affect the interactive shell, but not scripts.

Simple GET

curlie -v example.com

POST simple JSON with headers

curlie -v POST httpbin.org/status/201 "Authorization: Bearer xxxx" "name=John Doe"

POST large JSON

curlie -v POST httpbin.org/status/201 "Authorization: Bearer xxxx" -d '
[
    {
        "name": "John Doe"
    }
]
'

Spoof Host and SNI

The --resolve option is for when you need to test a local service as if it had a remote hostname and TLS SNI (or when you want to break things 😈).

curlie https://foo.example.com:8443 "Host: foo.example.com" \
    --resolve foo.example.com:8443:127.0.0.1