| 272 | } |
| 273 | |
| 274 | func (info *RuntimeInfo) recvHTTPResponseLoop() { |
| 275 | L: |
| 276 | for { |
| 277 | select { |
| 278 | case response := <-info.httpResponseChan: |
| 279 | httpResponse := response.Response |
| 280 | requestInfo := info.loadRequest(response.RequestID) |
| 281 | ConvertHTTPResponseToProxy(httpResponse, requestInfo) |
| 282 | info.InvokeDone(requestInfo, true) |
| 283 | case <-info.runtimeStopChan: |
| 284 | break L |
| 285 | } |
| 286 | } |
| 287 | info.runtimeWaitGroup.Done() |
| 288 | logs.Infof("runtime %s stop receiving http response", info.RuntimeID) |
| 289 | } |
| 290 | |
| 291 | func (info *RuntimeInfo) loadRequest(requestID string) *RequestInfo { |
| 292 | if value, load := info.requestMap.Load(requestID); load { |