WebRequester.cs 855 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Net;
  4. using System.Threading.Tasks;
  5. namespace Client.SSE
  6. {
  7. public class WebRequester : IWebRequester
  8. {
  9. public Task<IServerResponse> Get(Uri url, Dictionary<string, string> headers = null)
  10. {
  11. var wreq = (HttpWebRequest)WebRequest.Create(url);
  12. wreq.Method = "GET";
  13. wreq.Proxy = null;
  14. if (headers != null)
  15. {
  16. foreach (var header in headers)
  17. {
  18. wreq.Headers.Add(header.Key, header.Value);
  19. }
  20. }
  21. var taskResp = Task.Factory.FromAsync<WebResponse>(wreq.BeginGetResponse,
  22. wreq.EndGetResponse, null).ContinueWith<IServerResponse>(t => new ServerResponse(t.Result));
  23. return taskResp;
  24. }
  25. }
  26. }