@@ -44,29 +44,34 @@ func NewSavedObjectsProvider(baseUrl string, client *http.Client, syncIndexPatte
4444}
4545
4646func (p * SavedObjectsProvider ) GetObject (ctx context.Context , obj * SavedObjectOSD ) (* SavedObjectTF , diag.Diagnostics ) {
47+ url := fmt .Sprintf ("/%s/%s" , obj .Type , obj .ID )
4748 // build request
4849 req , err := http .NewRequestWithContext (
4950 ctx ,
5051 http .MethodGet ,
51- p .URL (fmt . Sprintf ( "/%s/%s" , obj . Type , obj . ID ) ),
52+ p .URL (url ),
5253 nil ,
5354 )
5455 req .Header .Set ("osd-xsrf" , "true" )
5556 req .Header .Set ("Content-Type" , "application/json" )
5657
5758 if err != nil {
58- return nil , diag .FromErr (err )
59+ return nil , diag .FromErr (fmt . Errorf ( "could not build request to GET %v %w" , url , err ) )
5960 }
6061
6162 res , err := p .httpClient .Do (req )
6263 if err != nil {
63- return nil , diag .FromErr (fmt .Errorf ("request failed, err %w " , err ))
64+ return nil , diag .FromErr (fmt .Errorf ("GET '%v' failed: %w" , req . URL . String () , err ))
6465 }
6566 if res .StatusCode == http .StatusNotFound {
6667 return nil , nil
6768 }
6869 if res .StatusCode != http .StatusOK {
69- return nil , diag .FromErr (fmt .Errorf ("request failed, statuscode %d" , err ))
70+ response , bodyReadErr := io .ReadAll (res .Body )
71+ if bodyReadErr != nil {
72+ return nil , diag .FromErr (fmt .Errorf ("GET '%v' failed with status %d" , req .URL .String (), res .StatusCode ))
73+ }
74+ return nil , diag .FromErr (fmt .Errorf ("GET '%v' failed with status %d\n response_body: %v" , req .URL .String (), res .StatusCode , string (response )))
7075 }
7176 // parse result
7277 obj = & SavedObjectOSD {}
@@ -118,14 +123,14 @@ func (p *SavedObjectsProvider) SaveObject(ctx context.Context, obj *SavedObjectO
118123
119124 res , err := p .httpClient .Do (req )
120125 if err != nil {
121- return diag .FromErr (fmt .Errorf ("POST request failed, err %s, statuscode %d, url %s \n request_body: %s" , err , res . StatusCode , req .URL .String (), string (jsonBytes )))
126+ return diag .FromErr (fmt .Errorf ("POST '%s' failed, err %s, statuscode %d, \n request_body: %s" , req .URL .String (), err , res . StatusCode , string (jsonBytes )))
122127 }
123128 if res .StatusCode != http .StatusOK {
124129 rawBody , bodyReadErr := io .ReadAll (res .Body )
125130 if bodyReadErr != nil {
126- return diag .FromErr (fmt .Errorf ("POST request failed, statuscode %d, url %s \n request_body: %s" , err , req .URL .String (), string (jsonBytes )))
131+ return diag .FromErr (fmt .Errorf ("POST '%s' failed with status %d \n request_body: %s" , req .URL .String (), err , string (jsonBytes )))
127132 }
128- return diag .FromErr (fmt .Errorf ("POST request failed, statuscode %d, url %s \n request_body: %s\n response_body: %s" , res . StatusCode , req .URL .String (), string (jsonBytes ), string (rawBody )))
133+ return diag .FromErr (fmt .Errorf ("POST '%s' failed with status %d \n request_body: %s\n response_body: %s" , req .URL .String (), res . StatusCode , string (jsonBytes ), string (rawBody )))
129134 }
130135 return nil
131136}
@@ -145,8 +150,15 @@ func (p *SavedObjectsProvider) DeleteObject(ctx context.Context, obj *SavedObjec
145150 req .Header .Set ("Content-Type" , "application/json" )
146151
147152 res , err := p .httpClient .Do (req )
148- if err != nil || res .StatusCode != http .StatusOK {
149- return diag .FromErr (fmt .Errorf ("request failed, err %s, statuscode %d" , err , res .StatusCode ))
153+ if err != nil {
154+ return diag .FromErr (fmt .Errorf ("DELETE '%s' failed, err %s, statuscode %d" , req .URL .String (), err , res .StatusCode ))
155+ }
156+ if res .StatusCode != http .StatusOK {
157+ response , bodyReadErr := io .ReadAll (res .Body )
158+ if bodyReadErr != nil {
159+ return diag .FromErr (fmt .Errorf ("DELETE '%s' failed with status %d" , req .URL .String (), err ))
160+ }
161+ return diag .FromErr (fmt .Errorf ("DELETE '%s' failed with status %d\n response_body: %s" , req .URL .String (), res .StatusCode , string (response )))
150162 }
151163
152164 return nil
0 commit comments