hitt
Last updated
Last updated
hitt is a command line HTTP testing tool focused on speed and simplicity.
hitt can be installed using Cargo.
or run it directly using npx:
To send a request create a file ending in .http
.
The syntax of .http
files is pretty straightforward:
The file can then be run using the following command:
That is all that is need to send a request.
--var <KEY>=<VALUE>
Variables to pass to request
--recursive
Run all files in directory
--fail-fast
Exit on status code 4XX or 5xx
--hide-headers
Hide response headers
--hide-body
Hide response body
--timeout <TIMEOUT_MS>
Request timeout in ms
Request headers can be added by writing key value pairs (KEY:VALUE
) on a new line after the method and URL:
Leading spaces in the header value is ignored, so KEY: VALUE
and KEY:VALUE
will both have the value VALUE
.
A body can be sent with the request by creating a blank line, followed by the desired body input.
Please note, hitt does not infer content type. That has to be written as a header.
Multiple requests can be written in a single file by adding a line with ###
as a separator:
hitt has support for request variables.
A variable can be set in a file using the following syntax @name = VALUE
. Whitespace is ignored.
Variables are used by wrapping the name in curly brackets ({{ name }}
).
In-file variables are not shared between other files.
Variables can be passed to all requests using the --var <KEY>=<VALUE>
argument:
The file can the be run:
A SSE listener can be started using the hitt sse
command.
Shell completions can be generated using hitt completions <SHELL>
.
Add the following to your .bashrc
.
Add the following to your .zshrc
.
Add the following to ~/.config/fish/config.fish
.
Add the following to your PowerShell configuration (Can be found by running $PROFILE
).
Add the following to ~/.elvish/rc.elv
.
hitt can be run directly from Neovim.
[!NOTE] The
hitt
executable must be available in your path for the plugin to work.
The plugin exposes a single command :HittSendRequest
, which can be bound to a keymap like this:
window_width
80
Window width in percentage
window_height
80
Window height in percentage
fail_fast
false
Enables the --fail-fast
options
Syntax highlighting can be enabled by installing the http
treesitter parser (:TSInstall http
) and adding a file association for .http
files.
If you do not have Cargo installed, you need to .
You can install hitt using :
hitt is most likely not ready for main stream usage. I () am primarily developing it based on features I believe to be useful, or fun to develop.