diff --git a/google-api-go-generator/gen.go b/google-api-go-generator/gen.go index 96bc9064199..bc954eaa9fb 100644 --- a/google-api-go-generator/gen.go +++ b/google-api-go-generator/gen.go @@ -768,14 +768,15 @@ func (a *API) GenerateCode() ([]byte, error) { pn(" client *http.Client") pn(" BasePath string // API endpoint base URL") pn(" UserAgent string // optional additional User-Agent fragment") + pn(" UserAgentPrefix string // optional User-Agent prefix fragment") for _, res := range a.doc.Resources { pn("\n\t%s\t*%s", resourceGoField(res, nil), resourceGoType(res)) } pn("}") pn("\nfunc (s *%s) userAgent() string {", service) - pn(` if s.UserAgent == "" { return googleapi.UserAgent }`) - pn(` return googleapi.UserAgent + " " + s.UserAgent`) + pn(` if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent }`) + pn(` return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent)`) pn("}\n") for _, res := range a.doc.Resources { diff --git a/google-api-go-generator/testdata/any.want b/google-api-go-generator/testdata/any.want index 34a1ae7ea34..c8f8edf622b 100644 --- a/google-api-go-generator/testdata/any.want +++ b/google-api-go-generator/testdata/any.want @@ -119,18 +119,19 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Projects *ProjectsService } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewProjectsService(s *Service) *ProjectsService { diff --git a/google-api-go-generator/testdata/arrayofarray-1.want b/google-api-go-generator/testdata/arrayofarray-1.want index b57b562dddf..02c719ae17f 100644 --- a/google-api-go-generator/testdata/arrayofarray-1.want +++ b/google-api-go-generator/testdata/arrayofarray-1.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } // GeoJsonMultiPolygon: Multi Polygon diff --git a/google-api-go-generator/testdata/arrayofenum.want b/google-api-go-generator/testdata/arrayofenum.want index 2c3d74b6e65..292d1ec3e6e 100644 --- a/google-api-go-generator/testdata/arrayofenum.want +++ b/google-api-go-generator/testdata/arrayofenum.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } // Container: Represents a Google Tag Manager Container. diff --git a/google-api-go-generator/testdata/arrayofmapofobjects.want b/google-api-go-generator/testdata/arrayofmapofobjects.want index 1d95706e1e0..a66092ef71d 100644 --- a/google-api-go-generator/testdata/arrayofmapofobjects.want +++ b/google-api-go-generator/testdata/arrayofmapofobjects.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } type Analyze struct { diff --git a/google-api-go-generator/testdata/arrayofmapofstrings.want b/google-api-go-generator/testdata/arrayofmapofstrings.want index afdf9248b45..c199f3b2d70 100644 --- a/google-api-go-generator/testdata/arrayofmapofstrings.want +++ b/google-api-go-generator/testdata/arrayofmapofstrings.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } type Analyze struct { diff --git a/google-api-go-generator/testdata/blogger-3.want b/google-api-go-generator/testdata/blogger-3.want index 7492d2cad5f..357b9c85b73 100644 --- a/google-api-go-generator/testdata/blogger-3.want +++ b/google-api-go-generator/testdata/blogger-3.want @@ -134,9 +134,10 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment BlogUserInfos *BlogUserInfosService @@ -156,10 +157,10 @@ type Service struct { } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewBlogUserInfosService(s *Service) *BlogUserInfosService { diff --git a/google-api-go-generator/testdata/floats.want b/google-api-go-generator/testdata/floats.want index b01d09689f9..54a7ffc3519 100644 --- a/google-api-go-generator/testdata/floats.want +++ b/google-api-go-generator/testdata/floats.want @@ -107,16 +107,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } // Utilization: CPU utilization policy. diff --git a/google-api-go-generator/testdata/getwithoutbody.want b/google-api-go-generator/testdata/getwithoutbody.want index e8048f4fb57..8c249e17add 100644 --- a/google-api-go-generator/testdata/getwithoutbody.want +++ b/google-api-go-generator/testdata/getwithoutbody.want @@ -106,18 +106,19 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment MetricDescriptors *MetricDescriptorsService } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewMetricDescriptorsService(s *Service) *MetricDescriptorsService { diff --git a/google-api-go-generator/testdata/http-body.want b/google-api-go-generator/testdata/http-body.want index e32ebcfdc18..e948ef4264c 100644 --- a/google-api-go-generator/testdata/http-body.want +++ b/google-api-go-generator/testdata/http-body.want @@ -119,18 +119,19 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Projects *ProjectsService } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewProjectsService(s *Service) *ProjectsService { diff --git a/google-api-go-generator/testdata/json-body.want b/google-api-go-generator/testdata/json-body.want index 270814d4682..c2a201cb6c3 100644 --- a/google-api-go-generator/testdata/json-body.want +++ b/google-api-go-generator/testdata/json-body.want @@ -119,18 +119,19 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Projects *ProjectsService } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewProjectsService(s *Service) *ProjectsService { diff --git a/google-api-go-generator/testdata/mapofany.want b/google-api-go-generator/testdata/mapofany.want index 098a2c65d44..02d5040f670 100644 --- a/google-api-go-generator/testdata/mapofany.want +++ b/google-api-go-generator/testdata/mapofany.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } type JsonValue interface{} diff --git a/google-api-go-generator/testdata/mapofarrayofobjects.want b/google-api-go-generator/testdata/mapofarrayofobjects.want index 05d91c1d971..bba0f587b70 100644 --- a/google-api-go-generator/testdata/mapofarrayofobjects.want +++ b/google-api-go-generator/testdata/mapofarrayofobjects.want @@ -106,18 +106,19 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Atlas *AtlasService } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewAtlasService(s *Service) *AtlasService { diff --git a/google-api-go-generator/testdata/mapofint64strings.want b/google-api-go-generator/testdata/mapofint64strings.want index 9cd76b7de7b..7116368dbb5 100644 --- a/google-api-go-generator/testdata/mapofint64strings.want +++ b/google-api-go-generator/testdata/mapofint64strings.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } type TestResultSummaryToolGroupTestSuite struct { diff --git a/google-api-go-generator/testdata/mapofobjects.want b/google-api-go-generator/testdata/mapofobjects.want index 6671abcec15..0277d9bd741 100644 --- a/google-api-go-generator/testdata/mapofobjects.want +++ b/google-api-go-generator/testdata/mapofobjects.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } type Entity struct { diff --git a/google-api-go-generator/testdata/mapofstrings-1.want b/google-api-go-generator/testdata/mapofstrings-1.want index 931994c9f55..a599c643166 100644 --- a/google-api-go-generator/testdata/mapofstrings-1.want +++ b/google-api-go-generator/testdata/mapofstrings-1.want @@ -106,18 +106,19 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Atlas *AtlasService } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewAtlasService(s *Service) *AtlasService { diff --git a/google-api-go-generator/testdata/param-rename.want b/google-api-go-generator/testdata/param-rename.want index 69114aafb20..567f2e74a1f 100644 --- a/google-api-go-generator/testdata/param-rename.want +++ b/google-api-go-generator/testdata/param-rename.want @@ -107,9 +107,10 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Events *EventsService @@ -117,10 +118,10 @@ type Service struct { } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewEventsService(s *Service) *EventsService { diff --git a/google-api-go-generator/testdata/quotednum.want b/google-api-go-generator/testdata/quotednum.want index 54ac67b4eb2..c1635349cbc 100644 --- a/google-api-go-generator/testdata/quotednum.want +++ b/google-api-go-generator/testdata/quotednum.want @@ -118,16 +118,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } // Creative: A creative and its classification data. diff --git a/google-api-go-generator/testdata/repeated.want b/google-api-go-generator/testdata/repeated.want index 8bb2713208f..edaa2e01465 100644 --- a/google-api-go-generator/testdata/repeated.want +++ b/google-api-go-generator/testdata/repeated.want @@ -106,18 +106,19 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Accounts *AccountsService } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewAccountsService(s *Service) *AccountsService { diff --git a/google-api-go-generator/testdata/required-query.want b/google-api-go-generator/testdata/required-query.want index bef9b9186df..bc7c83c82f4 100644 --- a/google-api-go-generator/testdata/required-query.want +++ b/google-api-go-generator/testdata/required-query.want @@ -106,18 +106,19 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Techs *TechsService } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewTechsService(s *Service) *TechsService { diff --git a/google-api-go-generator/testdata/resource-named-service.want b/google-api-go-generator/testdata/resource-named-service.want index 9eaedf8bb05..c3b3f0c9047 100644 --- a/google-api-go-generator/testdata/resource-named-service.want +++ b/google-api-go-generator/testdata/resource-named-service.want @@ -119,18 +119,19 @@ func New(client *http.Client) (*APIService, error) { } type APIService struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment Apps *AppsService } func (s *APIService) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } func NewAppsService(s *APIService) *AppsService { diff --git a/google-api-go-generator/testdata/unfortunatedefaults.want b/google-api-go-generator/testdata/unfortunatedefaults.want index b3ff0a3d652..859bef29bcf 100644 --- a/google-api-go-generator/testdata/unfortunatedefaults.want +++ b/google-api-go-generator/testdata/unfortunatedefaults.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } // Thing: don't care diff --git a/google-api-go-generator/testdata/variants.want b/google-api-go-generator/testdata/variants.want index 46b3c9fd849..dacd4ebee78 100644 --- a/google-api-go-generator/testdata/variants.want +++ b/google-api-go-generator/testdata/variants.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } type GeoJsonGeometry map[string]interface{} diff --git a/google-api-go-generator/testdata/wrapnewlines.want b/google-api-go-generator/testdata/wrapnewlines.want index efbd467599f..001faa2917b 100644 --- a/google-api-go-generator/testdata/wrapnewlines.want +++ b/google-api-go-generator/testdata/wrapnewlines.want @@ -105,16 +105,17 @@ func New(client *http.Client) (*Service, error) { } type Service struct { - client *http.Client - BasePath string // API endpoint base URL - UserAgent string // optional additional User-Agent fragment + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + UserAgentPrefix string // optional User-Agent prefix fragment } func (s *Service) userAgent() string { - if s.UserAgent == "" { + if s.UserAgent == "" && s.UserAgentPrefix == "" { return googleapi.UserAgent } - return googleapi.UserAgent + " " + s.UserAgent + return strings.Trim(s.UserAgentPrefix + " " + googleapi.UserAgent + " " + s.UserAgent) } // Thing: don't care