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.
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