# uget
A minimal cli tool to make http requests.
With uget, you can:
* Make http requests
* Download files
* Upload files
* Save response body to a file
* Print request or response
* Set headers, body, method, form fields, multipart form fields
* Easily set bearer and basic auth
* Client certificate and private key for mutual auth
* Use custom CA certificate for verify
* Use stdin as body, or save response body to a file using stdout
* Show progress bar for download
* Resume download from a previous one
* Allow enter password for auth from stdin
You want, you get!

## Install
```sh
cargo install uget
```
## Usage
```sh
uget <url> <body> [OPTIONS]
```
## Example
### GET (will print to stdout and hide progress bar)
```sh
uget https://example.com
```
### JSON (defaults to POST method)
```sh
### Form (defaults to POST method)
```sh
uget https://example.com --field "title=foo" --field "body=bar" --field "userId=1"
```
### Header
```sh
uget https://example.com -m POST --header "Content-Type: application/json" "{ title: 'foo', body: 'bar', userId: 1 }"
```
### Bearer
```sh
uget https://example.com/users/1 -m DELETE --bearer <token>
```
### Basic
```sh
uget https://example.com -m POST --basic <username>:<password>
```
## License
MIT
## Author
Rogerio Pereira Araujo <rogerio.araujo@gmail.com>