DefaultHttpClient.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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(string 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. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  36. public Task<HttpResponseMessage> GetAsync(Uri url)
  37. {
  38. return _httpClient.GetAsync(url);
  39. }
  40. /// <summary>
  41. /// Make GET request.
  42. /// </summary>
  43. /// <param name="url">Url to request.</param>
  44. /// <param name="cancellationToken">The cancellation token.</param>
  45. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  46. public Task<HttpResponseMessage> GetAsync(string url, CancellationToken cancellationToken)
  47. {
  48. return _httpClient.GetAsync(url, cancellationToken);
  49. }
  50. /// <summary>
  51. /// Make GET request.
  52. /// </summary>
  53. /// <param name="url">Url to request.</param>
  54. /// <param name="cancellationToken">The cancellation token.</param>
  55. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  56. public Task<HttpResponseMessage> GetAsync(Uri url, CancellationToken cancellationToken)
  57. {
  58. return _httpClient.GetAsync(url, cancellationToken);
  59. }
  60. /// <summary>
  61. /// Get stream.
  62. /// </summary>
  63. /// <param name="url">Url to get stream from.</param>
  64. /// <returns>A <see cref="Task"/> containing the <see cref="Stream"/>.</returns>
  65. public Task<Stream> GetStreamAsync(string url)
  66. {
  67. return _httpClient.GetStreamAsync(url);
  68. }
  69. /// <summary>
  70. /// Get stream.
  71. /// </summary>
  72. /// <param name="url">Url to get stream from.</param>
  73. /// <returns>A <see cref="Task"/> containing the <see cref="Stream"/>.</returns>
  74. public Task<Stream> GetStreamAsync(Uri url)
  75. {
  76. return _httpClient.GetStreamAsync(url);
  77. }
  78. /// <summary>
  79. /// Send request.
  80. /// </summary>
  81. /// <param name="requestMessage">The <see cref="HttpRequestMessage"/>.</param>
  82. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  83. public Task<HttpResponseMessage> SendAsync(HttpRequestMessage requestMessage)
  84. {
  85. return _httpClient.SendAsync(requestMessage);
  86. }
  87. /// <summary>
  88. /// Send request.
  89. /// </summary>
  90. /// <param name="requestMessage">The <see cref="HttpRequestMessage"/>.</param>
  91. /// <param name="cancellationToken">The cancellation token.</param>
  92. /// <returns>A <see cref="Task"/> containing the <see cref="HttpResponseMessage"/>.</returns>
  93. public Task<HttpResponseMessage> SendAsync(HttpRequestMessage requestMessage, CancellationToken cancellationToken)
  94. {
  95. return _httpClient.SendAsync(requestMessage, cancellationToken);
  96. }
  97. }
  98. }