IHttpClient.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //------------------------------------------------------------------------------
  2. // 此代码版权(除特别声明或在XREF结尾的命名空间的代码)归作者本人若汝棋茗所有
  3. // 源代码使用协议遵循本仓库的开源协议及附加协议,若本仓库没有设置,则按MIT开源协议授权
  4. // CSDN博客:https://blog.csdn.net/qq_40374647
  5. // 哔哩哔哩视频:https://space.bilibili.com/94253567
  6. // Gitee源代码仓库:https://gitee.com/RRQM_Home
  7. // Github源代码仓库:https://github.com/RRQM
  8. // API首页:https://www.yuque.com/rrqm/touchsocket/index
  9. // 交流QQ群:234762506
  10. // 感谢您的下载和使用
  11. //------------------------------------------------------------------------------
  12. //------------------------------------------------------------------------------
  13. using System.Threading;
  14. using TouchSocket.Sockets;
  15. namespace TouchSocket.Http
  16. {
  17. /// <summary>
  18. /// Http终端基础接口
  19. /// </summary>
  20. public interface IHttpClientBase : ITcpClientBase
  21. {
  22. }
  23. /// <summary>
  24. /// Http服务器终端接口
  25. /// </summary>
  26. public interface IHttpSocketClient : IHttpClientBase
  27. {
  28. }
  29. /// <summary>
  30. /// Http终端接口
  31. /// </summary>
  32. public interface IHttpClient : ITcpClient, IHttpClientBase
  33. {
  34. /// <summary>
  35. /// 发起请求
  36. /// </summary>
  37. /// <param name="request">请求体</param>
  38. /// <param name="onlyRequest">仅仅请求,而不等待结果</param>
  39. /// <param name="timeout">等待超时时间</param>
  40. /// <param name="token">结束等待令箭</param>
  41. /// <returns></returns>
  42. HttpResponse Request(HttpRequest request, bool onlyRequest = false, int timeout = 10 * 1000, CancellationToken token = default);
  43. /// <summary>
  44. /// 发起请求,并获取数据体
  45. /// </summary>
  46. /// <param name="request">请求体</param>
  47. /// <param name="onlyRequest">仅仅请求,而不等待结果</param>
  48. /// <param name="timeout">等待超时时间</param>
  49. /// <param name="token">结束等待令箭</param>
  50. /// <returns></returns>
  51. public HttpResponse RequestContent(HttpRequest request, bool onlyRequest = false, int timeout = 10 * 1000, CancellationToken token = default);
  52. }
  53. }