forked from h2non/gentleman
/
inheritance.go
41 lines (32 loc) · 847 Bytes
/
inheritance.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main
import (
"fmt"
"gopkg.in/h2non/gentleman.v1"
"gopkg.in/h2non/gentleman.v1/plugins/headers"
)
func main() {
// Create a parent client
parent := gentleman.New()
// Define default URL
parent.URL("http://httpbin.org")
// Define a custom header via parent client
parent.Use(headers.Set("API-Token", "s3cr3t"))
// Create a new client
cli := gentleman.New()
// Bind parent client
cli.UseParent(parent)
// Create a new request based on the current client
req := cli.Request()
// Perform the request
res, err := req.Path("/post").JSON(map[string]string{"foo": "bar"}).Send()
if err != nil {
fmt.Printf("Request error: %s\n", err)
return
}
if !res.Ok {
fmt.Printf("Invalid server response: %d\n", res.StatusCode)
return
}
fmt.Printf("Status: %d\n", res.StatusCode)
fmt.Printf("Body: %s", res.String())
}