@@ -54,11 +54,9 @@ func (d *DataSetClient) doPingRequest(req interface{}) (*LRQResult, error) {
5454 request .Header .Set ("Authorization" , "Bearer " + d .apiKey )
5555 request .Header .Set ("Content-Type" , "application/json" )
5656
57- var responseBody LRQResult
58- stepsComplete , stepsTotal := 0 , 1
59-
60- // Repeat ping requests for our query until we get a result with all steps steps complete
61- for stepsComplete < stepsTotal {
57+ // Repeat ping requests until all steps are complete
58+ var respBody LRQResult
59+ for {
6260 resp , err := d .netClient .Do (request )
6361 if err != nil {
6462 if e , ok := err .(* url.Error ); ok && e .Timeout () {
@@ -69,23 +67,26 @@ func (d *DataSetClient) doPingRequest(req interface{}) (*LRQResult, error) {
6967 }
7068 }
7169
72- responseBytes , err := io .ReadAll (resp .Body )
70+ respBytes , err := io .ReadAll (resp .Body )
7371 resp .Body .Close ()
7472 if err != nil {
7573 log .DefaultLogger .Error ("error reading response from DataSet" , "err" , err )
7674 return nil , err
7775 }
7876
79- if err = json .Unmarshal (responseBytes , & responseBody ); err != nil {
80- log .DefaultLogger .Error (" error unmarshaling response from DataSet" , "err" , err )
77+ if err = json .Unmarshal (respBytes , & respBody ); err != nil {
78+ log .DefaultLogger .Error ("error unmarshaling response from DataSet" , "err" , err )
8179 return nil , err
8280 }
8381
84- stepsTotal = responseBody .StepsTotal
85- stepsComplete = responseBody .StepsCompleted
82+ if respBody .StepsCompleted >= respBody .StepsTotal {
83+ break
84+ }
85+
86+ time .Sleep (100 * time .Millisecond )
8687
87- // Build next ping request (which we might not use)
88- url := fmt .Sprintf ("%s/v2/api/queries/%s?lastStepSeen=%d" , d .dataSetUrl , responseBody .Id , responseBody .StepsCompleted )
88+ // Build next ping request
89+ url := fmt .Sprintf ("%s/v2/api/queries/%s?lastStepSeen=%d" , d .dataSetUrl , respBody .Id , respBody .StepsCompleted )
8990 request , err = http .NewRequest ("GET" , url , nil )
9091 if err != nil {
9192 log .DefaultLogger .Error ("error constructing request to DataSet" , "err" , err )
@@ -95,7 +96,7 @@ func (d *DataSetClient) doPingRequest(req interface{}) (*LRQResult, error) {
9596 request .Header .Set ("Content-Type" , "application/json" )
9697 }
9798
98- return & responseBody , nil
99+ return & respBody , nil
99100}
100101
101102func (d * DataSetClient ) DoLRQRequest (req LRQRequest ) (* LRQResult , error ) {
@@ -132,12 +133,12 @@ func (d *DataSetClient) DoFacetRequest(req FacetRequest) (int, error) {
132133 }
133134 defer resp .Body .Close ()
134135
135- responseBytes , err := io .ReadAll (resp .Body )
136+ respBytes , err := io .ReadAll (resp .Body )
136137 if err != nil {
137138 log .DefaultLogger .Error ("error reading response from DataSet" , "err" , err )
138139 return 0 , err
139140 }
140- log .DefaultLogger .Info ("Result of request to facet" , "body" , string (responseBytes ))
141+ log .DefaultLogger .Debug ("Result of request to facet" , "body" , string (respBytes ))
141142
142143 return resp .StatusCode , nil
143144}
0 commit comments