Geocoding.Google.GoogleGeocoder.ProcessRequestAsync C# (CSharp) Method

ProcessRequestAsync() private method

private ProcessRequestAsync ( HttpWebRequest request, CancellationToken cancellationToken = null ) : Task>
request System.Net.HttpWebRequest
cancellationToken System.Threading.CancellationToken
return Task>
		private Task<IEnumerable<GoogleAddress>> ProcessRequestAsync(HttpWebRequest request, CancellationToken? cancellationToken = null)
		{
			if (cancellationToken != null)
			{
				cancellationToken.Value.ThrowIfCancellationRequested();
				cancellationToken.Value.Register(() => request.Abort());
			}

			var requestState = new RequestState(request, cancellationToken);
			return Task.Factory.FromAsync(
				(callback, asyncState) => SendRequestAsync((RequestState)asyncState, callback),
				result => ProcessResponseAsync((RequestState)result.AsyncState, result),
				requestState
			);
		}