| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package invoke
- import (
- "errors"
- "github.com/go-resty/resty/v2"
- "net/url"
- "time"
- )
- type API struct {
- client *resty.Client
- baseUrl string
- }
- func NewAPI(baseUrl string, timeout time.Duration) *API {
- return &API{
- client: resty.New().SetTimeout(timeout),
- baseUrl: baseUrl,
- }
- }
- func DestroyAPI(api *API) {
- if api == nil {
- return
- }
- api.baseUrl = ""
- api.client = nil
- }
- func (api *API) PostJSON() {
- }
- func (api *API) GetJSON() {
- }
- func (api *API) PutJSON() {
- }
- func (api *API) DeleteJSON() {
- }
- func (api *API) Post(methodName string, headers map[string]string, data []byte) ([]byte, error) {
- invokeUrl, err := url.JoinPath(api.baseUrl, methodName)
- if err != nil {
- return nil, err
- }
- resp, err := api.client.R().
- SetHeaders(headers).
- SetBody(data).
- Post(invokeUrl)
- if err != nil {
- return nil, err
- }
- if resp.IsError() {
- return nil, errors.New(string(resp.Body()))
- }
- return resp.Body(), nil
- }
- func (api *API) Get() {
- }
- func (api *API) Put() {
- }
- func (api *API) Delete() {
- }
|