diff options
Diffstat (limited to 'vendor/github.com/monaco-io/request/README.md')
-rw-r--r-- | vendor/github.com/monaco-io/request/README.md | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/vendor/github.com/monaco-io/request/README.md b/vendor/github.com/monaco-io/request/README.md new file mode 100644 index 00000000..7ac32be0 --- /dev/null +++ b/vendor/github.com/monaco-io/request/README.md @@ -0,0 +1,197 @@ +# Request [![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go) [![Go Report Card](https://goreportcard.com/badge/github.com/monaco-io/request)](https://goreportcard.com/report/github.com/monaco-io/request) ![Go](https://github.com/monaco-io/request/workflows/Go/badge.svg) + +<img align="right" width="159px" src="https://raw.githubusercontent.com/gin-gonic/logo/master/color.png"> + +[![Build Status](https://travis-ci.org/monaco-io/request.svg?branch=master)](https://travis-ci.org/monaco-io/request) +[![GoDoc](https://godoc.org/github.com/monaco-io/request?status.svg)](https://pkg.go.dev/github.com/monaco-io/request?tab=doc) +[![codecov](https://codecov.io/gh/monaco-io/request/branch/master/graph/badge.svg)](https://codecov.io/gh/monaco-io/request) +[![Release](https://img.shields.io/github/release/monaco-io/request.svg?style=flat-square)](https://github.com/monaco-io/request/releases) +[![TODOs](https://badgen.net/https/api.tickgit.com/badgen/github.com/monaco-io/request)](https://www.tickgit.com/browse?repo=github.com/monaco-io/request) +[![License](https://img.shields.io/github/license/monaco-io/request?style=plastic)](https://github.com/monaco-io/request/blob/master/LICENSE) +<!-- [![Sourcegraph](https://sourcegraph.com/github.com/monaco-io/request/-/badge.svg)](https://sourcegraph.com/github.com/monaco-io/request?badge) --> +<!-- [![Open Source Helpers](https://www.codetriage.com/monaco-io/request/badges/users.svg)](https://www.codetriage.com/monaco-io/request) --> +<!-- [![Join the chat at https://gitter.im/monaco-io/request](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/monaco-io/request?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) --> + +HTTP client for golang, Inspired by [Javascript-axios](https://github.com/axios/axios) [Python-request](https://github.com/psf/requests). +If you have experience about axios or requests, you will love it. +No 3rd dependency. + +## Features + +- Make [http](https://golang.org) requests from Golang +- Intercept request and response +- Transform request and response data + +## Installing + +go mod: + +```bash +go get github.com/monaco-io/request +``` + +## Methods + +- OPTIONS +- GET +- HEAD +- POST +- PUT +- DELETE +- TRACE +- CONNECT + +## Example + +### GET + +```go +package main + +import ( + "log" + + "github.com/monaco-io/request" +) + +func main() { + client := request.Client{ + URL: "https://google.com", + Method: "GET", + Params: map[string]string{"hello": "world"}, + } + resp, err := client.Do() + + log.Println(resp.Code, string(resp.Data), err) +} +``` + +### POST + +```go +package main + +import ( + "log" + + "github.com/monaco-io/request" +) + +func main() { + client := request.Client{ + URL: "https://google.com", + Method: "POST", + Params: map[string]string{"hello": "world"}, + Body: []byte(`{"hello": "world"}`), + } + resp, err := client.Do() + + log.Println(resp.Code, string(resp.Data), err) +} +``` + +### Content-Type + +```go +package main + +import ( + "log" + + "github.com/monaco-io/request" +) + +func main() { + client := request.Client{ + URL: "https://google.com", + Method: "POST", + ContentType: request.ApplicationXWwwFormURLEncoded, // default is "application/json" + } + resp, err := client.Do() + + log.Println(resp.Code, string(resp.Data), err) +} +``` + +### Authorization + +```go +package main + +import ( + "log" + + "github.com/monaco-io/request" +) + +func main() { + client := request.Client{ + URL: "https://google.com", + Method: "POST", + BasicAuth: request.BasicAuth{ + Username:"user_xxx", + Password:"pwd_xxx", + }, // xxx:xxx + } + + resp, err := client.Do() + + log.Println(resp.Code, string(resp.Data), err) +} +``` + +### Timeout + +```go +package main + +import ( + "log" + + "github.com/monaco-io/request" +) + +func main() { + client := request.Client{ + URL: "https://google.com", + Method: "POST", + Timeout: 10, // seconds + } + + resp, err := client.Do() + + log.Println(resp.Code, string(resp.Data), err) +} +``` + +### Cookies + +```go +package main + +import ( + "log" + + "github.com/monaco-io/request" +) + +func main() { + client := request.Client{ + URL: "https://google.com", + Cookies:[]*http.Cookie{ + { + Name: "cookie_name", + Value: "cookie_value", + }, + }, + } + + resp, err := client.Do() + + log.Println(resp.Code, string(resp.Data), err) +} +``` + +## License + +[MIT](LICENSE) |