- $this->client = $client;
- $this->request = $request;
-
- parent::__construct(function($resolve, $reject) {
- return $this->cancel($resolve, $reject);
- });
-
- $client->attach($this);
- $client->enqueue($request, function(Response $response) {
- $this->response = $response;
- $this->complete(
- [$this, "resolve"],
- [$this, "reject"]
- );
- return true;
- });
- /* start off */
- $client->once();
- }
-
- /**
- * Progress observer
- *
- * Import the response's data on success and resolve the promise.
- *
- * @param SplSubject $client The observed HTTP client
- * @param Request $request The request which generated the update
- * @param object $progress The progress information
- */
- function update(SplSubject $client, Request $request = null, $progress = null) {
- if ($request !== $this->request) {
- return;
- }
-
- $this->notify((object) compact("client", "request", "progress"));