OSDN Git Service

Opz log print (#343)
[bytom/vapor.git] / toolbar / federation / util / http_util.go
1 package util
2
3 import (
4         "bytes"
5         "encoding/json"
6         "io/ioutil"
7         "net/http"
8 )
9
10 func Get(url string, result interface{}) error {
11         client := &http.Client{}
12         resp, err := client.Get(url)
13         if err != nil {
14                 return err
15         }
16
17         defer resp.Body.Close()
18         body, err := ioutil.ReadAll(resp.Body)
19         if err != nil {
20                 return err
21         }
22
23         return json.Unmarshal(body, result)
24 }
25
26 func Post(url string, payload []byte, result interface{}) error {
27         req, err := http.NewRequest("POST", url, bytes.NewBuffer(payload))
28         if err != nil {
29                 return err
30         }
31
32         req.Header.Set("Content-Type", "application/json")
33         client := &http.Client{}
34         resp, err := client.Do(req)
35         if err != nil {
36                 return err
37         }
38
39         defer resp.Body.Close()
40         if result == nil {
41                 return nil
42         }
43
44         body, err := ioutil.ReadAll(resp.Body)
45         if err != nil {
46                 return err
47         }
48
49         return json.Unmarshal(body, result)
50 }