@@ -10,7 +10,7 @@ import (
1010)
1111
1212const contentType = "application/json"
13- const userAgent = "mite-go/0.1 (+github.com/leanovate/mite-go)"
13+ const userAgentTemplate = "mite-go/%s (+github.com/leanovate/mite-go)"
1414
1515type AccountApi interface {}
1616
@@ -51,13 +51,15 @@ type Api interface {
5151}
5252
5353type api struct {
54- base string
55- key string
56- client * http.Client
54+ base string
55+ key string
56+ userAgent string
57+ client * http.Client
5758}
5859
59- func NewApi (base string , key string ) Api {
60- return & api {base : base , key : key , client : & http.Client {}}
60+ func NewApi (base string , key string , version string ) Api {
61+ ua := fmt .Sprintf (userAgentTemplate , version )
62+ return & api {base : base , key : key , userAgent : ua , client : & http.Client {}}
6163}
6264
6365func (a * api ) get (resource string , result interface {}) error {
@@ -66,7 +68,7 @@ func (a *api) get(resource string, result interface{}) error {
6668 return err
6769 }
6870
69- req .Header .Add ("User-Agent" , userAgent )
71+ req .Header .Add ("User-Agent" , a . userAgent )
7072 req .Header .Add ("X-MiteApiKey" , a .key )
7173
7274 res , err := a .client .Do (req )
@@ -102,7 +104,7 @@ func (a *api) post(resource string, body interface{}, result interface{}) error
102104 }
103105
104106 req .Header .Add ("Content-Type" , contentType )
105- req .Header .Add ("User-Agent" , userAgent )
107+ req .Header .Add ("User-Agent" , a . userAgent )
106108 req .Header .Add ("X-MiteApiKey" , a .key )
107109
108110 res , err := a .client .Do (req )
@@ -134,7 +136,7 @@ func (a *api) patch(resource string, body interface{}, result interface{}) error
134136 }
135137
136138 req .Header .Add ("Content-Type" , contentType )
137- req .Header .Add ("User-Agent" , userAgent )
139+ req .Header .Add ("User-Agent" , a . userAgent )
138140 req .Header .Add ("X-MiteApiKey" , a .key )
139141
140142 res , err := a .client .Do (req )
@@ -160,7 +162,7 @@ func (a *api) delete(resource string, result interface{}) error {
160162 return err
161163 }
162164
163- req .Header .Add ("User-Agent" , userAgent )
165+ req .Header .Add ("User-Agent" , a . userAgent )
164166 req .Header .Add ("X-MiteApiKey" , a .key )
165167
166168 res , err := a .client .Do (req )
0 commit comments