public async Task<VenueSearchResponse> SearchAsync(VenueSearchRequest searchRequest) { if (searchRequest == null) { throw new NoNullAllowedException("A valid search request is required."); } var request = WebRequest.Create(Url); request.Method = "POST"; request.ContentType = "application/json"; var data = JsonConvert.SerializeObject(searchRequest); using (var stream = await request.GetRequestStreamAsync()) { using (var writer = new StreamWriter(stream)) { await writer.WriteAsync(data); } } request.ContentLength = data.Length; var response = await request.GetResponseAsync(); using (var stream = response.GetResponseStream()) { using (var reader = new StreamReader(stream)) { return JsonConvert.DeserializeObject<VenueSearchResponse>(reader.ReadToEnd()); } } }
public VenueSearchResponse Search(VenueSearchRequest searchRequest) { if (searchRequest == null) { throw new NoNullAllowedException("A valid search request is required."); } var request = WebRequest.Create(Url); request.Method = "POST"; request.ContentType = "application/json"; var data = JsonConvert.SerializeObject(searchRequest, new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore}); using (var stream = request.GetRequestStream()) { using (var writer = new StreamWriter(stream)) { writer.Write(data); } } var response = request.GetResponse(); using (var stream = response.GetResponseStream()) { using (var reader = new StreamReader(stream)) { return JsonConvert.DeserializeObject<VenueSearchResponse>(reader.ReadToEnd()); } } }