private RestResponse HandleInParallel(string uri) { lock (_locker) { if (ParallelResponses.Count == 0) { _expectParallelRequests = true; return(HandleResponse(uri)); } var response = ParallelResponses.FirstOrDefault(x => x.Item1 == uri); if (response == null) { throw new ArgumentOutOfRangeException($"No response for {uri}"); } ParallelResponses.Remove(response); return(CreateResponse(response.Item2)); } }
public void QueueParallelResponses(params Tuple <string, object>[] responses) { ParallelResponses.AddRange(responses); _expectParallelRequests = true; }