feat(utils): 新增工具类:邮箱、请求
This commit is contained in:
59
pkg/request/request.go
Normal file
59
pkg/request/request.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package request
|
||||
|
||||
import (
|
||||
"net/http/cookiejar"
|
||||
"time"
|
||||
|
||||
"github.com/go-resty/resty/v2"
|
||||
)
|
||||
|
||||
type RequestClient struct {
|
||||
client *resty.Client
|
||||
}
|
||||
|
||||
func NewRequestClient(baseURL string, headers map[string]string) *RequestClient {
|
||||
client := resty.New()
|
||||
jar, _ := cookiejar.New(nil)
|
||||
client.
|
||||
SetBaseURL(baseURL).
|
||||
SetTimeout(60 * time.Second).
|
||||
SetCookieJar(jar).
|
||||
SetRetryCount(3)
|
||||
|
||||
if headers != nil {
|
||||
client.SetHeaders(headers)
|
||||
}
|
||||
|
||||
return &RequestClient{client}
|
||||
}
|
||||
|
||||
func (r *RequestClient) Get(endpoint string, queryParams map[string]string) (*resty.Response, error) {
|
||||
resp, err := r.client.R().
|
||||
SetQueryParams(queryParams).
|
||||
Get(endpoint)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (r *RequestClient) Post(endpoint string, body interface{}, result interface{}) (*resty.Response, error) {
|
||||
resp, err := r.client.R().
|
||||
SetBody(body).
|
||||
SetResult(result).
|
||||
Post(endpoint)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (r *RequestClient) Put(endpoint string, body interface{}) (*resty.Response, error) {
|
||||
resp, err := r.client.R().
|
||||
SetBody(body).
|
||||
Put(endpoint)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (r *RequestClient) Delete(endpoint string) (*resty.Response, error) {
|
||||
resp, err := r.client.R().Delete(endpoint)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (r *RequestClient) SetHeaders(headers map[string]string) {
|
||||
r.client.SetHeaders(headers)
|
||||
}
|
||||
Reference in New Issue
Block a user