restish

command module
v0.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2023 License: MIT Imports: 5 Imported by: 0

README

Restish Logo

Works With Restish User Guide CI codecov Docs Go Report Card

Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in — like always having the latest API resources, fields, and operations available when they go live on the API without needing to install or update anything. Check out how Restish compares to cURL & HTTPie.

See the user guide for how to install Restish and get started.

Features include:

  • HTTP/2 (RFC 7540) with TLS by default with fallback to HTTP/1.1
  • Generic head/get/post/put/patch/delete verbs like curl or HTTPie
  • Generated commands for CLI operations, e.g. restish my-api list-users
    • Automatically discovers API descriptions
    • Supported formats
    • Automatic configuration of API auth if advertised by the API
    • Shell command completion for Bash, Fish, Zsh, Powershell
  • Automatic pagination of resource collections via RFC 5988 prev and next hypermedia links
  • API endpoint-based auth built-in with support for profiles:
    • HTTP Basic
    • API key via header or query param
    • OAuth2 client credentials flow (machine-to-machine, RFC 6749)
    • OAuth2 authorization code (with PKCE RFC 7636) flow
    • On the fly authorization through external tools for custom API signature mechanisms
  • Content negotiation, decoding & unmarshalling built-in:
  • Automatic retries with support for Retry-After and X-Retry-In headers when APIs are rate-limited.
  • Standardized hypermedia parsing into queryable/followable response links:
  • Local caching that respects RFC 7234 Cache-Control and Expires headers
  • CLI shorthand for structured data input (e.g. for JSON)
  • Shorthand query response filtering & projection
  • Colorized prettified readable output
  • Fast native zero-dependency binary

Articles:

This project started life as a fork of OpenAPI CLI Generator.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL