hitt
Last updated
Last updated
hitt is a command line HTTP testing tool focused on speed and simplicity.
hitt can be installed using Cargo.
If you do not have Cargo installed, you need to install it first.
You can install hitt using npm:
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.
hitt is most likely not ready for main stream usage. I (Mads Hougesen) am primarily developing it based on features I believe to be useful, or fun to develop.