@@ -22,6 +22,7 @@ import (
2222
2323const (
2424 fileNameKey = "file"
25+ defaultTimeout = 10 * time.Second
2526)
2627
2728// {{ spec .title | caseUcfirst }}Error represents an error of a client request
@@ -60,19 +61,19 @@ type Client struct {
6061}
6162
6263// NewClient initializes a new {{ spec .title | caseUcfirst }} client with a given timeout
63- func NewClient(timeout time.Duration ) Client {
64+ func NewClient() Client {
6465 headers := map[string]string{
6566{% for key ,header in spec .global .defaultHeaders %}
6667 "{{key }}" : "{{header }}",
6768 "x-sdk-version": "{{ sdk .gitUserName | url_encode }}:go:{{sdk .version }}",
6869{% endfor %}
6970 }
70- httpClient, err := getDefaultClient(timeout )
71+ httpClient, err := getDefaultClient(defaultTimeout )
7172 if err != nil { panic(err) }
7273 return Client {
7374 endpoint: "https://{{ sdk .gitUserName | url_encode }}.io/v1",
7475 client: httpClient,
75- timeout: timeout ,
76+ timeout: defaultTimeout ,
7677 headers: headers,
7778 }
7879}
@@ -92,6 +93,14 @@ func getDefaultClient(timeout time.Duration) (*http.Client, error) {
9293 }, nil
9394}
9495
96+ func (clt *Client) SetTimeout(timeout time.Duration) error {
97+ clt.timeout = timeout
98+ httpClient, err := getDefaultClient(timeout)
99+ if err != nil { return err }
100+ clt.client = httpClient
101+ return nil
102+ }
103+
95104// SetEndpoint sets the default endpoint to which the Client connects to
96105func (clt *Client) SetEndpoint(endpoint string) {
97106 clt.endpoint = endpoint
0 commit comments