@@ -2,16 +2,23 @@ package stackoverflow
22
33import (
44 "context"
5+ "log"
56
67 so "terraform-provider-stackoverflow/stackoverflow/client"
78
89 "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
910 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
11+
12+ version "terraform-provider-stackoverflow/version"
1013)
1114
15+ // TerraformProviderProductUserAgent is included in the User-Agent header for
16+ // any API requests made by the provider.
17+ const TerraformProviderProductUserAgent = "terraform-provider-stackoverflow"
18+
1219// Provider -
1320func Provider () * schema.Provider {
14- return & schema.Provider {
21+ provider := & schema.Provider {
1522 Schema : map [string ]* schema.Schema {
1623 "access_token" : {
1724 Type : schema .TypeString ,
@@ -39,16 +46,21 @@ func Provider() *schema.Provider {
3946 "stackoverflow_question" : dataQuestion (),
4047 "stackoverflow_tag" : dataTag (),
4148 },
42- ConfigureContextFunc : providerConfigure ,
4349 }
44- }
4550
46- func providerConfigure (ctx context.Context , d * schema.ResourceData ) (interface {}, diag.Diagnostics ) {
47- accessToken := d .Get ("access_token" ).(string )
48- baseURL := d .Get ("base_url" ).(string )
51+ provider .ConfigureContextFunc = func (ctx context.Context , d * schema.ResourceData ) (interface {}, diag.Diagnostics ) {
52+ accessToken := d .Get ("access_token" ).(string )
53+ baseURL := d .Get ("base_url" ).(string )
54+ userAgentHeader := provider .UserAgent (TerraformProviderProductUserAgent , version .ProviderVersion )
55+
56+ var diags diag.Diagnostics
4957
50- var diags diag.Diagnostics
51- client := so .NewClient (& baseURL , & accessToken )
58+ client := so .NewClient (& baseURL , & accessToken , & userAgentHeader )
59+
60+ log .Printf ("User-Agent: %s" , client .UserAgentHeader )
61+
62+ return client , diags
63+ }
5264
53- return client , diags
65+ return provider
5466}
0 commit comments