- Shell 100%
This PR fixes a bug that occurs when URL-encoded characters are passed as parameters. The left square bracket `[` when URL-encoded becomes `%5B`. This causes `printf` to treat the input as a string to be formatted. Let's pass the variables as actual format arguments instead, which is the correct way to do it anyways. Reviewed-on: https://codeberg.org/vlw/curl/pulls/20 |
||
|---|---|---|
| curl | ||
| saved | ||
| .gitignore | ||
| curl.sh | ||
| init.sh | ||
| LICENSE | ||
| README.md | ||
| save.sh | ||
This is a wrapper for curl written in bash designed to be used along with Visual Studio Code.
Mom, can we have Postman?
We have Postman at home!
Here is a simpler version of this script that prints the response body directly to the console
Get started
Clone this repo
git clone https://codeberg.org/vlw/curl
This script uses separate files in the curl/ directory for various request options. You can generate these files on first load by running the init script.
./init.sh
Note
If you're using this with VSCode, drag each file into the workspace area where you want it to display. You of course don't have to follow the layout in the screenshot above.
Files
This script reads or writes values in these files to construct a request or show a response from a request.
Disable SSL peer validation
You can disable SSL peer validation (for self-signed certificates etc.) by creating an empty file disable_peer_validation in the base directory of this repo.
touch disable_peer_validation
Request
curl/req_url.txt
https://example.com/pathname
param1=foo
param2=bar
The first line is the URL origin and pathname. Each subsequent line is treated as a separate search parameter.
curl/req_body.json
JSON request body that will be sent with all requests (except GET). Leave empty to send nothing.
{
"request_body_parameter": "request_body_value"
}
curl/req_headers.json
Key-value JSON object of optional request headers.
{
"X-Header-Name": "Header value"
}
Response
curl/resp_headers.txt
A raw output of the response headers from the last request
curl/resp_body.txt
The raw response body received from the last request
curl/resp_body.json
The raw response body parsed into- and automatically pretty-printed JSON
Make a request
Run the curl.sh file from your shell and pass it two parametes for URL and request method.
./curl.sh GET
Note
Passing no arguments to
./curl.shwill default the request method toGET
Save and load configurations
The save.sh script allows you to save and load configurations so you can easily switch between them.
| Command | Description |
|---|---|
./save.sh save <name> |
Save the current configuration where <name> is the name of this configuration |
./save.sh move <name> |
Move the current configuration where <name> is the name of this configuration. A new empty configuration will be created. |
./save.sh load <name> |
Load a saved configuration where <name> is the name of the target configuration. The current configuration will be saved as ._backup. |
./save.sh list |
List all saved configurations |
