IHandler.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace Yurun\Util\YurunHttp\Handler;
  3. interface IHandler
  4. {
  5. /**
  6. * 发送请求
  7. *
  8. * @param \Yurun\Util\YurunHttp\Http\Request $request
  9. *
  10. * @return void
  11. */
  12. public function send(&$request);
  13. /**
  14. * 接收请求
  15. *
  16. * @return \Yurun\Util\YurunHttp\Http\Response|null
  17. */
  18. public function recv();
  19. /**
  20. * 连接 WebSocket.
  21. *
  22. * @param \Yurun\Util\YurunHttp\Http\Request $request
  23. * @param \Yurun\Util\YurunHttp\WebSocket\IWebSocketClient $websocketClient
  24. *
  25. * @return \Yurun\Util\YurunHttp\WebSocket\IWebSocketClient
  26. */
  27. public function websocket(&$request, $websocketClient = null);
  28. /**
  29. * Get cookie 管理器.
  30. *
  31. * @return \Yurun\Util\YurunHttp\Cookie\CookieManager
  32. */
  33. public function getCookieManager();
  34. /**
  35. * 获取原始处理器对象
  36. *
  37. * @return mixed
  38. */
  39. public function getHandler();
  40. /**
  41. * 批量运行并发请求
  42. *
  43. * @param \Yurun\Util\YurunHttp\Http\Request[] $requests
  44. * @param float|null $timeout 超时时间,单位:秒。默认为 null 不限制
  45. *
  46. * @return \Yurun\Util\YurunHttp\Http\Response[]
  47. */
  48. public function coBatch($requests, $timeout = null);
  49. /**
  50. * 关闭并释放所有资源.
  51. *
  52. * @return void
  53. */
  54. public function close();
  55. }