DefaultHttpClient.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.IO;
  3. using System.Net.Http;
  4. using System.Threading;
  5. using System.Threading.Tasks;
  6. namespace MediaBrowser.Common.Net
  7. {
  8. /// <summary>
  9. /// Default http client.
  10. /// </summary>
  11. public class DefaultHttpClient
  12. {
  13. private readonly HttpClient _httpClient;
  14. /// <summary>
  15. /// Initializes a new instance of the <see cref="DefaultHttpClient" /> class.
  16. /// </summary>
  17. /// <param name="httpClient">Instance of httpclient.</param>
  18. public DefaultHttpClient(HttpClient httpClient)
  19. {
  20. _httpClient = httpClient;
  21. }
  22. /// <summary>
  23. /// Make GET request.
  24. /// </summary>
  25. /// <param name="url">Url to request.</param>
  26. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  27. public Task<HttpResponseMessage> GetAsync(Uri url)
  28. {
  29. return _httpClient.GetAsync(url);
  30. }
  31. /// <summary>
  32. /// Make GET request.
  33. /// </summary>
  34. /// <param name="url">Url to request.</param>
  35. /// <param name="cancellationToken">The cancellation token.</param>
  36. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  37. public Task<HttpResponseMessage> GetAsync(Uri url, CancellationToken cancellationToken)
  38. {
  39. return _httpClient.GetAsync(url, cancellationToken);
  40. }
  41. /// <summary>
  42. /// Get stream.
  43. /// </summary>
  44. /// <param name="url">Url to get stream from.</param>
  45. /// <returns>A <see cref="Task"/> containing the <see cref="Stream"/>.</returns>
  46. public Task<Stream> GetStreamAsync(Uri url)
  47. {
  48. return _httpClient.GetStreamAsync(url);
  49. }
  50. /// <summary>
  51. /// Send request.
  52. /// </summary>
  53. /// <param name="requestMessage">The <see cref="HttpRequestMessage"/>.</param>
  54. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  55. public Task<HttpResponseMessage> SendAsync(HttpRequestMessage requestMessage)
  56. {
  57. return _httpClient.SendAsync(requestMessage);
  58. }
  59. /// <summary>
  60. /// Send request.
  61. /// </summary>
  62. /// <param name="requestMessage">The <see cref="HttpRequestMessage"/>.</param>
  63. /// <param name="cancellationToken">The cancellation token.</param>
  64. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  65. public Task<HttpResponseMessage> SendAsync(HttpRequestMessage requestMessage, CancellationToken cancellationToken)
  66. {
  67. return _httpClient.SendAsync(requestMessage, cancellationToken);
  68. }
  69. }
  70. }