using System; using System.Collections.Generic; using System.Net; using System.Threading.Tasks; namespace Client.SSE { public class WebRequester : IWebRequester { public Task Get(Uri url, Dictionary headers = null) { var wreq = (HttpWebRequest)WebRequest.Create(url); wreq.Method = "GET"; wreq.Proxy = null; if (headers != null) { foreach (var header in headers) { wreq.Headers.Add(header.Key, header.Value); } } var taskResp = Task.Factory.FromAsync(wreq.BeginGetResponse, wreq.EndGetResponse, null).ContinueWith(t => new ServerResponse(t.Result)); return taskResp; } } }