w:@CzgM=j!(AQTJAx ۾};W=PT'u=xaT)Dtu2%ؔ2m'Da,Kj| JSNlF˕j1| >xKEq> 3v2A۠@ƛ!BN1\i _rQOp:$`ԄwzrRm9d8jw1qs{ȯэk@clݩKz- `uA5<+~|0݃&$*U?W3_U$a< ¶#".BfBL<oՌW4=KtӴz,pa?R1n<݃|[D4UZ5扑dwC=#9J+cObO+ ۸q&^?P'a p`顫-ͯh"*26J47H}_6կA8KZ2Lu;#TC{F;_F$T:%,E^TN<CRh6nggюďϼEs߫+<_+NmofݱP) xcDwļ"P^sViK~ixlpSM1~)Ht.kW$>+ xbPyׂϔ3u" R0WsJ?}s,I)`Mc'7z؇=9ns-mYKt5 o8/dph­d3@2l=UǨ'VU=q1|Ghb-P߾UR!dSd[H:Y0c1)ǰ+b&R)a: `B\u_Ծ!H\6R7Hݲ$VD\1|Ghb-PJ/^#4r \gzֺ^Gyʰ+b&R)a: `B\u_Ծ!H\F_Z6 ĔZ?40ct$sX>d5p T(}ga -P<1X]E6?}d,K1`ba`ƅ̈́.a{YH8\j@4J=gA٠, M~nbACWUA]ϐ6}{fh#֗L{e|=ҵ,ڌ k;pJnUF29>dZZE}GcɭWrRv1bda%Nz aJXuO[h7+! ]Czu0 `E%6HsROdnZet>|eZgOeNjJB<#_#vOu %y4aSi qhT*c oB 8jy,ĿIҢP uj8_u֒0J!~3_8hOrCheoI>{woˮ,dpU֞ j`q)J;5ym} ^ D 6zvi OpR@ט4(ݾ nH=`ŶEm~?6 mU5..3/ƀψ6Jd'\呾@>+度 Ĺ yX=3Q9{{2aeoѥ+7NuP|)PWXQo)q,#&lYh\lgDeEeyG&,A[pXᦠB{i.!˺ DNѶ299:Qu$/+eVB^N*6UpӮq`KaK[NϱXPґvHΚ!|Q:C:}Twe;(Swa J:0y:ŒTq#rI86iZ~ !ؤ s_=oq ؘ]I[&'}:H9g-{v{%sWg_/"PR :n 50jD }O톁!C(wѺ lpvjzd]8 h6d'c!?BL&gM:G Py5 ]?w錜KHX8U K>S<pUO$wh5Ghfڿj)^?ZfGF&%]JLa©wݛuC!w ޴?.F^SJw9tՖkt`(=7%?1Qnù"&b(ٷ(ž'I#&m5Xc.TCN) ;4V|юduYt̀ Ѩxb+J`VhH|ߘq[@}ѩȁ'$-lQئ (IH"KJuFwl`9}GOiy.o13l(5-|d`/Q~zZʨ>ޯ%f BBytDe`zQ1\ԝ/=RmJBÝA4Nn'-+r?}`V6 Ql,`,GVzK;usV룧Vї E{%vL_؆CB/+ 9Ī`:Rmw/!CUqAjU|U;eVyuvwTJ O*?eD"'%]JLa©w ࢳ-b{e.Z$+)40)6yЌMy衅؈>ޯ%g@wd҆o#Ms{ʄwgFN5K]O2n]o,>y`,?rcv82GXwgFN5K]O֐W^1~f/n; KHꄾ÷xNHLwrite($contents); } } return $value; }, function ($reason) use ($request, $options) { $this->invokeStats($request, $options, null, $reason); if ($this->onRejected) { ($this->onRejected)($reason); } return P\Create::rejectionFor($reason); } ); } /** * Adds one or more variadic requests, exceptions, callables, or promises * to the queue. * * @param mixed ...$values */ public function append(...$values): void { foreach ($values as $value) { if ($value instanceof ResponseInterface || $value instanceof \Throwable || $value instanceof PromiseInterface || \is_callable($value) ) { $this->queue[] = $value; } else { throw new \TypeError('Expected a Response, Promise, Throwable or callable. Found '.Utils::describeType($value)); } } } /** * Get the last received request. */ public function getLastRequest(): ?RequestInterface { return $this->lastRequest; } /** * Get the last received request options. */ public function getLastOptions(): array { return $this->lastOptions; } /** * Returns the number of remaining items in the queue. */ public function count(): int { return \count($this->queue); } public function reset(): void { $this->queue = []; } /** * @param mixed $reason Promise or reason. */ private function invokeStats( RequestInterface $request, array $options, ResponseInterface $response = null, $reason = null ): void { if (isset($options['on_stats'])) { $transferTime = $options['transfer_time'] ?? 0; $stats = new TransferStats($request, $response, $transferTime, $reason); ($options['on_stats'])($stats); } } }