mirror of
https://codeberg.org/vlw/curl.git
synced 2026-04-13 02:39:38 +02:00
In this PR we add the ability to save, move, and load configurations with a new `save.sh` script. Reviewed-on: https://codeberg.org/vlw/curl/pulls/5 Co-authored-by: vlw <victor@vlw.se> Co-committed-by: vlw <victor@vlw.se>
88 lines
No EOL
2.8 KiB
Markdown
88 lines
No EOL
2.8 KiB
Markdown

|
|
|
|

|
|
|
|
|
|
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!
|
|
>
|
|
> [\- Source](https://knowyourmeme.com/memes/we-have-food-at-home)
|
|
|
|
[Here is a simpler version of this script that prints the response body directly to the console](/vlw/curl/src/tag/1.1.0)
|
|
|
|
# Get started
|
|
Clone this repo
|
|
```sh
|
|
git clone https://codeberg.org/vlw/curl --depth 1
|
|
```
|
|
|
|
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.
|
|
```sh
|
|
./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.
|
|
```sh
|
|
touch disable_peer_validation
|
|
```
|
|
|
|
## Request
|
|
### `curl/req_params.txt`
|
|
URL search parameters. Each newline is treated as a separate search parameter.
|
|
```
|
|
foo=bar
|
|
fizz=buzz
|
|
```
|
|
|
|
### `curl/req_body.json`
|
|
JSON request body that will be sent with all requests (except `GET`). Leave empty to send nothing.
|
|
```json
|
|
{
|
|
"request_body_parameter": "request_body_value"
|
|
}
|
|
```
|
|
|
|
### `curl/req_headers.json`
|
|
Key-value JSON object of optional request headers.
|
|
```json
|
|
{
|
|
"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.
|
|
|
|
```sh
|
|
./curl.sh https://example.com GET
|
|
```
|
|
|
|
# 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 |