One of the headlining features of Insomnia 5.4.0 is support for UNIX Domain Sockets – a mechanism typically used for communication between processes running on the same host operating system. This post gives a brief introduction on connecting to a socket within Insomnia.
In order for Insomnia to distinguish socket requests, a slightly different
URL syntax is required. The following syntax was borrowed from the popular NodeJS
# Syntax for UNIX domain sockets http://unix:$SOCKET:$PATH
Note: This feature provides same functionality as using the
--unix-socket FILE flag with
Example Using Docker Engine API
To demonstrate socket support, we'll issue a request to the
/images endpoint that is exposed
by the Docker Engine's socket API.
Using the following URL in Insomnia will list the available Docker images on the host machine.
# Sample URL to communicate with Docker socket http://unix:/var/run/docker.sock:/v1.24/images/json
This URL is specifying the path to the socket (
/var/run/docker.sock) and the API
endpoint path (
/v1.24/images/json) using the previously mentioned URL syntax. Here's what
it looks like within Insomnia.
Since the Docker socket communicates using HTTP and JSON, it looks indistinguishable from regular TCP/IP-based HTTP requests being made over the network.
And that's it! I can't wait to hear what you think!