Sending requests
The Compose tab sends a request you write: a method, a URL, headers and a text body. It goes through Wirescry like any other request, so you can watch it, change it with rules, and send it again with changes.
Writing a request
- Method: pick GET, POST, PUT, PATCH, DELETE, HEAD or OPTIONS, or type another. Wirescry can send any method Node.js knows except CONNECT, such as PROPFIND or QUERY. It's sent in capitals.
- URL: a full URL, starting with
http://orhttps://. - Headers: one
Name: valueper line. Blank lines are skipped, and spaces around names and values are trimmed. - Body: text, sent as UTF-8.
Click Send, or press ⌘/Ctrl+Enter in any field, the headers and body included.
What Send does
The request goes through Wirescry's own proxy, as if a program on your computer had sent it:
- It shows in Traffic, with a Sent badge.
- Pro rules apply to it, as to any other request.
- It's recorded even while recording is paused.
Wirescry sets Host and Content-Length for you. If you write any of these headers, they're left out: Host, Content-Length, Transfer-Encoding, Connection, Keep-Alive, Proxy-Connection, Upgrade and TE.
A fragment (#section) is removed from the URL, since it's never sent to a server.
Limits
| Limit | |
|---|---|
| URL and headers | 16 KB together |
| Headers | 200 |
| Body | 512 KB of text |
Send also refuses:
- A user name or password in the URL, such as
https://user:pass@host/. Put credentials in an Authorization header instead. - Header values with emoji or other characters outside Latin-1, or with line breaks.
- A header line without a colon. The message gives its line number.
- A header name with spaces, or other characters header names can't use.
For a binary body, or one larger than 512 KB, use another client and capture it with Wirescry.
The response
The response opens under the editor, in the same view as the detail pane: status, timing, headers and body, with Copy as curl. Until it has fully arrived, Send becomes Cancel, which stops the request. That works for a stream or a long download too.
Edit and resend
To send a captured request again with changes, choose Edit and resend… in its details or its right-click menu. Compose opens with its method, URL, headers and body filled in. Nothing is sent until you click Send.
Some things aren't copied:
- Headers Wirescry sets itself, listed above, and HTTP/2's pseudo-headers such as
:authority. Several Cookie headers are joined into one, as HTTP/1.1 servers expect. - A body that isn't text, is over 512 KB, or is no longer stored. A note says which.
- Content-Encoding, when the body was compressed. It's copied decoded, so it's sent uncompressed.
If Compose held a request you hadn't sent, Edit and resend replaces it, and the note offers Undo to bring it back, until you click OK.
WebSocket connections, and requests from before the proxy restarted, can't be resent.
Saved requests and variables
With Wirescry Pro, a panel beside the editor keeps a list of saved requests, fills in {{variables}} from environments such as dev and staging, and copies a request as fetch, Python or HTTPie code. See Saved requests and variables.