MCPcopy
hub / github.com/cloudfoundry/cli / PerformRequestForJSONResponse

Method PerformRequestForJSONResponse

cf/net/gateway.go:266–286  ·  view source on GitHub ↗
(request *Request, response interface{})

Source from the content-addressed store, hash-verified

264}
265
266func (gateway Gateway) PerformRequestForJSONResponse(request *Request, response interface{}) (http.Header, error) {
267 bytes, headers, rawResponse, err := gateway.performRequestForResponseBytes(request)
268 if err != nil {
269 if rawResponse != nil && rawResponse.Body != nil {
270 b, _ := ioutil.ReadAll(rawResponse.Body)
271 _ = json.Unmarshal(b, &response)
272 }
273 return headers, err
274 }
275
276 if rawResponse.StatusCode > 203 || strings.TrimSpace(string(bytes)) == "" {
277 return headers, nil
278 }
279
280 err = json.Unmarshal(bytes, &response)
281 if err != nil {
282 return headers, fmt.Errorf("%s: %s", T("Invalid JSON response from server"), err.Error())
283 }
284
285 return headers, nil
286}
287
288func (gateway Gateway) PerformPollingRequestForJSONResponse(endpoint string, request *Request, response interface{}, timeout time.Duration) (http.Header, error) {
289 query := request.HTTPReq.URL.Query()

Callers 5

GetResourceMethod · 0.95
waitForJobMethod · 0.95
getAuthTokenMethod · 0.80
gateway_test.goFile · 0.80

Calls 2

ErrorMethod · 0.65

Tested by

no test coverage detected