Home
Softono
httpyac

httpyac

Open source MIT TypeScript
838
Stars
61
Forks
77
Issues
5
Watchers
3 months
Last Commit

About httpyac

httpyac is a command line interface for executing .http and .rest files, enabling users to send REST, SOAP, GraphQL, gRPC, WebSocket, and MQTT requests directly from the terminal. It supports running a single file or batch processing multiple files within a folder using glob patterns. Key features include OAuth2 token generation, environment-based variable configuration, request filtering by name or tag, parallel and sequential request execution, and configurable repeat counts. The tool offers flexible output formats including short, body, headers, response, exchange, and none, with JSON and JUnit XML reporting for CI/CD integration. Additional options include SSL insecure flag handling, timeouts, silent mode, verbose logging, and interactive selection. httpyac is available via npm as a global package or through Docker. It uses a simple file format with inline variables and headers, making it accessible for scripting API tests and automating HTTP workflows without the need for a graphical client. Output is su

Platforms

Web Self-hosted

Languages

TypeScript

HttpYac

httpYac - Yet another Rest Client

httpyac CLI provides a command line interface to execute .http and .rest files. This can be used to quickly execute a single *.http file, but also to execute all files in a folder. httpyac supports HTTP, Rest, GraphQL, WebSocket und gRPC Requests

HttpYac HttpYac CLI

Installation

npm install -g httpyac
httpyac --version

or using docker

docker run -it -v ${PWD}:/data ghcr.io/anweber/httpyac:latest --version

Commands

> httpyac --help

Usage: httpyac [options] [command]
httpYac - Quickly and easily send REST, SOAP, GraphQL and gRPC requests
Options:
  -V, --version                 output the version number
  -h, --help                    display help for command

Commands:
  oauth2 [options]              generate oauth2 token
  send [options] <fileName...>  send/ execute http files
  help [command]                display help for command
> httpyac help send

Usage: httpyac send [options] <fileName...>

send/ execute http files

Arguments:
  fileName                  path to file or glob pattern

Options:
  -a, --all                 execute all http requests in a http file
  --bail                    stops when a test case fails
  -e, --env  <env...>       list of environments
  --filter <filter>          filter requests output (only-failed)
  --insecure                allow insecure server connections when using ssl
  -i --interactive          do not exit the program after request, go back to selection
  --json                    use json output
  --junit                   use junit xml output
  -l, --line <line>         line of the http requests
  -n, --name <name>         name of the http requests
  --no-color                disable color support
  -o, --output <output>     output format of response (short, body, headers, response, exchange, none)
  --output-failed <output>  output format of failed response (short, body, headers, response, exchange, none)
  --raw                     prevent formatting of response body
  --quiet
  --repeat <count>          repeat count for requests
  --repeat-mode <mode>      repeat mode: sequential, parallel (default)
  --parallel <count>        send parallel requests
  -s, --silent              log only request
  -t, --tag  <tag...>       list of tags to execute
  --timeout <timeout>       maximum time allowed for connections
  --var  <variables...>     list of variables
  -v, --verbose             make the operation more talkative
  -h, --help                display help for command

Example

@user = doe
@password = 12345678

GET https://httpbin.org/basic-auth/{{user}}/{{password}}
Authorization: Basic {{user}} {{password}}

more examples and guide

License

MIT License

Change Log

CHANGELOG