JFIF  H H (ICC_PROFILE   0 mntrRGB XYZ acsp   - desc trXYZ d gXYZ x bXYZ  rTRC  (gTRC  (bTRC  (wtpt  cprt  بV7eudakt!Q ,*RGPQNČzŬb 5666p z"c83''Mq6Gitql@90.ۚAcN|li:9蠃p/^ZnLx84v;[#$ nh'c32o8Ɛ5KAv*_?nX?pyֆ̈́#z23F0Oe> {Gu.V (C'h/o%>x1X r:(>}{ycX8b]U:dOMsVAp'Z3'3E-ybj:>jOvUw#2cl~@gFCjțbz ^:-tdfj{XTh8aUM^+dAl"(KK m1$$ XKKqržoqg V FF#pG~:]֦!!Ң:pC+ AzӬ].t`='h_/} @L\,x㌼z԰+J-v+Y['8' % X q=[4Sj~4ݢ#dʂēRL5kX؊>l:t\baBA\Q38( ө:&$ 'L#d{qH>*5;jDo ˷YmԈ*[9*5tUf%3= GUW\'AR_W4_P պ -|4RFJZv0d[ˠzJ|PU8;鯌 'VcL,κ>*eb)f,0"j1 1v՘;bJ++COz7%>NU,=z\cEVK>Ic7} .jHn;^觱GHI HVǂO:ߊ{mSV?K|@ AiAT`2j 1~K8’$ ~]=9ឦG *9EMּm5Xf9Qĸ}i D%+t+;F: v:-&h_rD|! Ә;Zl븂':C&ҀaeKkm6 uT".}J&\ hciB2B+T7t?EPþЌmAF\lc2ЊABmE,cն\QJ]d5 `O Y@8?lx#KiI&Ri1fR2f1N%_g*TӨ??N:}+לɀh٭qL,ʈBrcuBmz ̢TV^ 뙏8' ufUX3㓏>NG:/;Hp饕B1K /%iɫ VQ%:_ -1oL?Roa\i^F|W*Na)P X#y㯨z+Cح\вjirm*dWҡQbBȨi'%NEb?'[h=`OiU϶u nR}GW4fVJmiR~J|l%m'%"LW V27NsXb?_={s}ij4Ý=SNjxFV"ԎI(E)]ӝЖm[4 m`5-7Wf󪥎bZKa#Vb%KY5T$y`46̼p C7HM'l{Oi +Pw~j,S5T4(FԨ;A`*HJTPgt(6/cg5U1@Qb8Y!rBzOQKF+6v%=~XDPpWc_-:߈#c坣CW1:^Q 06Ӭq@ Dj$ UW$?9F\cSM5=2>hב\,()JBk; J#j徻W(p=oQD #UMhU*Fc ?N=nF5Ӑ12w05Z뀩4ڣ霅uC1y%nJ8Ԑ*crR 9W=H9,A׻,.ZFb QEGVNs, q';OMmbtNVqOw*֙kPѬ؈XJIӯEWok+R{%j; Yx 7&&,LԜYbw"lI(*`۹F AS- #$413)Qpڤ3RxOJ$cP]viuq {kyN.- B,@󪳪ڸAor%X0UNb9 򍕑7)*233|Rnb@q|EUý$!7&["XOy ~ƓtADhP]mG파9p=ԜZ]ӭሎOeyq !bI GU:5~FoL ST[е$]$g*w]!;m@ޠ&IUڬ{҄բ-.SmҒ` vU"oL;'5s"W)@äL1i}^Y5$+Pv0o HU @ȓsQM)?M\4Q $2;g WJ/NwFJGD: y όMfW!QUZ%azҳDK_XhM^rԝ^!d'<#ﴛO{/F?+$ Y' wg'$ljGAH7l4xѶc}I*esg~;ͤt@B2iB'9C a8fTR: %NO@ m3sv w .@濾 ,FYrT0mUW_v>>d[A6ڊx:YTLHvӺ!nSD}>[mET0_,'C]pjVᅷPDZ[-V0`>}ܟpmֻ2O6O*ݹXHSN(J /+1՟#(P*gEO#w&j6?;ڡ)+U]l\/{莄*I/9<'$'#'yt/&-\\WPL`/p9qa'e¨E] fAAEYnGtm,ϮwXT>AaN#FjŵjQFdq^<H?yJ܃2*3 T4ЧH**W;(ꭽ¾Pf=eyA4FJ6{e]JqOCf#3SJf iMM\ iT$rG8$9>2:M)Q#NKe&"E8.z<mHk?#t˒A]; G0H:f!i! j{1m}o7u;$99Ӱ\ncz:zALq޶wyKT<4X,'!Y;Ͱ6q GM~_~܂}t>(zl}:r L9 fe}.-R*<`c6oܛ=prҽGB)nQ%)s*&i΍%—Zb{m[NNkbwBw Q*dF HP iܛ; aV68j}\eIGI'͔B;yA :^bn-m#@S6ˎr ;~cmƻgU:X6G%[gc{]c4)fpsgY˅>*"1}2<175)]V5)kdkM~`΂:{4nGPTTb   뎱϶w FFᓂG8>zF_H9_rDl:ҶH5Z!Bj.yk}erb:SOT]!ǎ?n:HεZsyztn[7NZ#UQO$.J#]Cr#YX9c<'$z 9 .$$PnDSn 2u5X g\ ?|Aᬰⶵ >>bE)Cb-ruMc׺*,\)`^m ge\k.۫8گoK1gWMpU޻zI=EErz:#6--/Wm\z8מ0x tA_c?Ծc^MژIMyO>l0ċ}t7[\ʲ9̜m_a[姯rְjP\kx1'CdmvF70e+m-]a?ݝKuSMUm 8f Yb!)2Z.UD \~:ܽ8zR̪Kcbs&ߦ1$, w\gc3F$iU#<`:I4{w.2aQ$EXNo?Gm NN rE$#Jn҉!AH'zePzRog8u(tJP߁Z.pÐ͢Aռ65Xsyvm 6RW7W;|0 >OүG@ٳ<>omԼ()kZJlK,F 4)snOQ{u㌏= Ao,ծ?eKBzG 6e6 f|CU _4C[j͕M8,%emM8\ cv COwTGi _94BDf%'ns8MPc&-y"8R_j 3a+z+N 9QlDQ40E VۋrH2I_YO',:뿉WNHvﵐ0B}na*E zUbN#0e"f.Q H5"-HVn=+ # Eiy- v8=g`o[ 鼛2.D^QeB ؅qϿRC~ B+Jۍ8 4*ӖΝ1R BI\ 1[0 I9y)Y " 7]6qg\ vP  s= Ѭ֕)פE< c`ϷU9W,: ?y1hsU(T ge/룮JA]|4aZVAIeIhBI!l$3![qHnw\7R{oM/ִ>5& gwjFE dc@K:V&W/k+=Yk[ @fU5zzmFȖH,[ n-dc wd[z"g4ϘRr0`B8_; #$^Zo5KZYKj GY%s"!a[9I2TF-w#a]˒Itٮei_FpVЧ૱W3eCi7 "}HApG>h֝5i T٧- '`dX1AF$$ޙ_Z]ڷTC Uy JGO} >A"5a> ZUR -Z\9 jrWݖQRݳ*ļ]$ڵXq=/w z\II#{ӭl^;F_R쵎[ָ[gKKͰoQ )W녕іs*kuzŨQde`WU_KLE~"g r<2GyއL(-VY -Z(IU0 |\;8C mhl:̄DkYHOk|:*DY tsس |zrO;񍃌sT31=jwyШ^nZHm_G̮0W󿓹S;_$mٛIDV=f-H}U]HA*vԶ3\Wh*I#$@6x^OZC&JU 16 XD*if&BDGFYYP[KLX uX .Z hq Ghb8M#Mqt\c> aT 00=㎨ʕGQԪR,ĜI9zӦJO3Rn`C5܊@QO1N.ؔ"I\YÖĐHdL\}IP~jm$ y; :ZGZVJv =&*UF#``R`*S+p\=) ҭ9k̮Ršx0'**ԑLkɺk+zJb#:|MZ ?j$ݼ &X)$6FY6ѕ/; J*nlC*ų_ ԕ{_6:\47ڷs4RmĊ=z *ʪXT[]5Bl#a-˙bv8@H|Rwe9A%5&M%Z02TN)&&GfM 儀oŒM;=.//k~ E"a9/3y,>lj>ZXy&εYP&h gec<``]!}i'c KQulFIʓ_\T58(+cJq~ [dgmm/`Xڙhtkq ו$"c[PVY[uɜ&#몵"ȾqC"ÜȔ!<Mj8u-dx*gϫtTLdKlaWڭ\~|7u`h(w֋cL=˼=FvcGs}зUBSМ;FI;Q$8+V|[CS쮙1%YP Q% LVVK+&,cIb]Vyi ~h?yF4"5As-F ݆x55P&E:W@f;}Gy^]U ITki 1 d﫠*cNh' cؗYnsL:b?H :kM~@8#Iqɔ~:f]P*i]H'fjhxTҗ1O:^t$1]UXz&tODT>(^s&3#N_/x-䬦? ~vU-W$4'ӎvRG|jySW?u4(1 G[ِ22jʎhrmoյشgRͮ%ϟѬ9 oR  n-&F-@hgY_qN;"2 !KJ  šA^, "aG8`=14=5Mqk>U@UT :RgjrKF.O$I9'=i}._ One Hat Cyber Team
  • Your IP: 216.73.216.176
  • Server IP: 198.54.114.155
  • Server: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
  • Server Software: LiteSpeed
  • PHP Version: 8.1.33
  • Buat File | Buat Folder
View File Name : message.zip
@error('message')

{{ $message }}

@enderror
@error('attachment')

{{ $message }}

@enderror
@endsection PK6y[KW33show.blade.phpnu[@extends('layouts.user') @push('css') @endpush @section('contents')

@lang('Ticket Number') : {{ $data->ticket_number }}

    @foreach($data->messages as $key=>$value) @if($value->user_id == 0)
  • {{ $value->message }}

    {{ $value->created_at->diffForHumans() }}
  • @else
  • {{ $value->message }}
    @if ($value->photo != NULL) @lang('attachment')-{{ $key +=1 }} @endif

    {{ $value->created_at->diffForHumans() }}
  • @endif @endforeach
@if ($data->status == 1) @endif
@endsection @push('js') @endpush PK6D{[orsrc/CookieUtil.phpnu[ */ interface Authentication { /** * Alter the request to add the authentication credentials. * * To do that, the implementation might use pre-stored credentials or do * separate HTTP requests to obtain a valid token. * * @param RequestInterface $request The request without authentication information * * @return RequestInterface The request with added authentication information */ public function authenticate(RequestInterface $request); } PK6D{[rdWzzsrc/CookieJar.phpnu[ */ final class CookieJar implements \Countable, \IteratorAggregate { /** * @var \SplObjectStorage */ private $cookies; public function __construct() { $this->cookies = new \SplObjectStorage(); } /** * Checks if there is a cookie. * * @return bool */ public function hasCookie(Cookie $cookie) { return $this->cookies->contains($cookie); } /** * Adds a cookie. */ public function addCookie(Cookie $cookie) { if (!$this->hasCookie($cookie)) { $cookies = $this->getMatchingCookies($cookie); foreach ($cookies as $matchingCookie) { if ($cookie->getValue() !== $matchingCookie->getValue() || $cookie->getMaxAge() > $matchingCookie->getMaxAge()) { $this->removeCookie($matchingCookie); continue; } } if ($cookie->hasValue()) { $this->cookies->attach($cookie); } } } /** * Removes a cookie. */ public function removeCookie(Cookie $cookie) { $this->cookies->detach($cookie); } /** * Returns the cookies. * * @return Cookie[] */ public function getCookies() { $match = function ($matchCookie) { return true; }; return $this->findMatchingCookies($match); } /** * Returns all matching cookies. * * @return Cookie[] */ public function getMatchingCookies(Cookie $cookie) { $match = function ($matchCookie) use ($cookie) { return $matchCookie->match($cookie); }; return $this->findMatchingCookies($match); } /** * Finds matching cookies based on a callable. * * @return Cookie[] */ private function findMatchingCookies(callable $match) { $cookies = []; foreach ($this->cookies as $cookie) { if ($match($cookie)) { $cookies[] = $cookie; } } return $cookies; } /** * Checks if there are cookies. * * @return bool */ public function hasCookies() { return $this->cookies->count() > 0; } /** * Sets the cookies and removes any previous one. * * @param Cookie[] $cookies */ public function setCookies(array $cookies) { $this->clear(); $this->addCookies($cookies); } /** * Adds some cookies. * * @param Cookie[] $cookies */ public function addCookies(array $cookies) { foreach ($cookies as $cookie) { $this->addCookie($cookie); } } /** * Removes some cookies. * * @param Cookie[] $cookies */ public function removeCookies(array $cookies) { foreach ($cookies as $cookie) { $this->removeCookie($cookie); } } /** * Removes cookies which match the given parameters. * * Null means that parameter should not be matched * * @param string|null $name * @param string|null $domain * @param string|null $path */ public function removeMatchingCookies($name = null, $domain = null, $path = null) { $match = function ($cookie) use ($name, $domain, $path) { $match = true; if (isset($name)) { $match = $match && ($cookie->getName() === $name); } if (isset($domain)) { $match = $match && $cookie->matchDomain($domain); } if (isset($path)) { $match = $match && $cookie->matchPath($path); } return $match; }; $cookies = $this->findMatchingCookies($match); $this->removeCookies($cookies); } /** * Removes all cookies. */ public function clear() { $this->cookies = new \SplObjectStorage(); } /** * {@inheritdoc} */ #[\ReturnTypeWillChange] public function count() { return $this->cookies->count(); } /** * {@inheritdoc} */ #[\ReturnTypeWillChange] public function getIterator() { return clone $this->cookies; } } PK6D{[Isrc/filters.phpnu[ */ class Chunk extends \php_user_filter { public function filter($in, $out, &$consumed, $closing): int { while ($bucket = stream_bucket_make_writeable($in)) { $lenbucket = stream_bucket_new($this->stream, dechex($bucket->datalen)."\r\n"); stream_bucket_append($out, $lenbucket); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); $lenbucket = stream_bucket_new($this->stream, "\r\n"); stream_bucket_append($out, $lenbucket); } return PSFS_PASS_ON; } } PK6D{[:Tsrc/Encoding/ChunkStream.phpnu[ */ class ChunkStream extends FilteredStream { protected function readFilter(): string { return 'chunk'; } protected function writeFilter(): string { return 'dechunk'; } protected function fill(): void { parent::fill(); if ($this->stream->eof()) { $this->buffer .= "0\r\n\r\n"; } } } PK6D{[ʌAAsrc/Encoding/DeflateStream.phpnu[ */ class DeflateStream extends FilteredStream { /** * @param int $level */ public function __construct(StreamInterface $stream, $level = -1) { parent::__construct($stream, ['window' => -15, 'level' => $level]); // @deprecated will be removed in 2.0 $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => -15]); } /** * {@inheritdoc} */ protected function readFilter(): string { return 'zlib.deflate'; } /** * {@inheritdoc} */ protected function writeFilter(): string { return 'zlib.inflate'; } } PK6D{[F!src/Encoding/GzipDecodeStream.phpnu[ */ class GzipDecodeStream extends FilteredStream { /** * @param int $level */ public function __construct(StreamInterface $stream, $level = -1) { if (!extension_loaded('zlib')) { throw new \RuntimeException('The zlib extension must be enabled to use this stream'); } parent::__construct($stream, ['window' => 31]); // @deprecated will be removed in 2.0 $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => 31, 'level' => $level]); } /** * {@inheritdoc} */ protected function readFilter(): string { return 'zlib.inflate'; } /** * {@inheritdoc} */ protected function writeFilter(): string { return 'zlib.deflate'; } } PK6D{[ٍsrc/Encoding/InflateStream.phpnu[ */ class InflateStream extends FilteredStream { /** * @param int $level */ public function __construct(StreamInterface $stream, $level = -1) { if (!extension_loaded('zlib')) { throw new \RuntimeException('The zlib extension must be enabled to use this stream'); } parent::__construct($stream, ['window' => -15]); // @deprecated will be removed in 2.0 $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => -15, 'level' => $level]); } protected function readFilter(): string { return 'zlib.inflate'; } protected function writeFilter(): string { return 'zlib.deflate'; } } PK6D{[ VVsrc/Encoding/FilteredStream.phpnu[ */ abstract class FilteredStream implements StreamInterface { use StreamDecorator { rewind as private doRewind; seek as private doSeek; } public const BUFFER_SIZE = 8192; /** * @var callable */ protected $readFilterCallback; /** * @var resource * * @deprecated since version 1.5, will be removed in 2.0 */ protected $readFilter; /** * @var callable * * @deprecated since version 1.5, will be removed in 2.0 */ protected $writeFilterCallback; /** * @var resource * * @deprecated since version 1.5, will be removed in 2.0 */ protected $writeFilter; /** * Internal buffer. * * @var string */ protected $buffer = ''; /** * @param mixed|null $readFilterOptions * @param mixed|null $writeFilterOptions deprecated since 1.5, will be removed in 2.0 */ public function __construct(StreamInterface $stream, $readFilterOptions = null, $writeFilterOptions = null) { if (null !== $readFilterOptions) { $this->readFilterCallback = Filter\fun($this->readFilter(), $readFilterOptions); } else { $this->readFilterCallback = Filter\fun($this->readFilter()); } if (null !== $writeFilterOptions) { $this->writeFilterCallback = Filter\fun($this->writeFilter(), $writeFilterOptions); @trigger_error('The $writeFilterOptions argument is deprecated since version 1.5 and will be removed in 2.0.', E_USER_DEPRECATED); } else { $this->writeFilterCallback = Filter\fun($this->writeFilter()); } $this->stream = $stream; } public function read(int $length): string { if (strlen($this->buffer) >= $length) { $read = substr($this->buffer, 0, $length); $this->buffer = substr($this->buffer, $length); return $read; } if ($this->stream->eof()) { $buffer = $this->buffer; $this->buffer = ''; return $buffer; } $read = $this->buffer; $this->buffer = ''; $this->fill(); return $read.$this->read($length - strlen($read)); } public function eof(): bool { return $this->stream->eof() && '' === $this->buffer; } /** * Buffer is filled by reading underlying stream. * * Callback is reading once more even if the stream is ended. * This allow to get last data in the PHP buffer otherwise this * bug is present : https://bugs.php.net/bug.php?id=48725 */ protected function fill(): void { $readFilterCallback = $this->readFilterCallback; $this->buffer .= $readFilterCallback($this->stream->read(self::BUFFER_SIZE)); if ($this->stream->eof()) { $this->buffer .= $readFilterCallback(); } } /** * {@inheritdoc} */ public function getContents(): string { $buffer = ''; while (!$this->eof()) { $buf = $this->read(self::BUFFER_SIZE); // Using a loose equality here to match on '' and false. if (null == $buf) { break; } $buffer .= $buf; } return $buffer; } /** * Always returns null because we can't tell the size of a stream when we filter. */ public function getSize(): ?int { return null; } public function __toString(): string { return $this->getContents(); } /** * Filtered streams are not seekable. * * We would need to buffer and process everything to allow seeking. */ public function isSeekable(): bool { return false; } /** * Filtered streams are not seekable and can thus not be rewound. */ public function rewind(): void { @trigger_error('Filtered streams are not seekable. This method will start raising an exception in the next major version', E_USER_DEPRECATED); $this->doRewind(); } /** * Filtered streams are not seekable. */ public function seek(int $offset, int $whence = SEEK_SET): void { @trigger_error('Filtered streams are not seekable. This method will start raising an exception in the next major version', E_USER_DEPRECATED); $this->doSeek($offset, $whence); } /** * Returns the read filter name. * * @deprecated since version 1.5, will be removed in 2.0 */ public function getReadFilter(): string { @trigger_error('The '.__CLASS__.'::'.__METHOD__.' method is deprecated since version 1.5 and will be removed in 2.0.', E_USER_DEPRECATED); return $this->readFilter(); } /** * Returns the write filter name. */ abstract protected function readFilter(): string; /** * Returns the write filter name. * * @deprecated since version 1.5, will be removed in 2.0 */ public function getWriteFilter(): string { @trigger_error('The '.__CLASS__.'::'.__METHOD__.' method is deprecated since version 1.5 and will be removed in 2.0.', E_USER_DEPRECATED); return $this->writeFilter(); } /** * Returns the write filter name. */ abstract protected function writeFilter(): string; } PK6D{[?U~~src/Encoding/error_lognu[[25-Nov-2025 18:02:09 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DechunkStream.php:12 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DechunkStream.php on line 12 [25-Nov-2025 19:53:50 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/CompressStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/CompressStream.php on line 13 [25-Nov-2025 19:55:14 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/GzipDecodeStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/GzipDecodeStream.php on line 13 [25-Nov-2025 19:56:19 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/GzipEncodeStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/GzipEncodeStream.php on line 13 [25-Nov-2025 20:22:52 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DeflateStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DeflateStream.php on line 13 [25-Nov-2025 20:25:45 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/ChunkStream.php:10 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/ChunkStream.php on line 10 [25-Nov-2025 22:01:15 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DecompressStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DecompressStream.php on line 13 [25-Nov-2025 22:05:53 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/InflateStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/InflateStream.php on line 13 [25-Nov-2025 22:06:09 UTC] PHP Fatal error: Trait "Http\Message\Decorator\StreamDecorator" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/FilteredStream.php on line 14 [26-Nov-2025 17:09:35 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DeflateStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DeflateStream.php on line 13 [26-Nov-2025 17:10:01 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DecompressStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DecompressStream.php on line 13 [26-Nov-2025 17:32:24 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/InflateStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/InflateStream.php on line 13 [26-Nov-2025 18:48:56 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/GzipEncodeStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/GzipEncodeStream.php on line 13 [26-Nov-2025 18:49:38 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/CompressStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/CompressStream.php on line 13 [26-Nov-2025 19:05:24 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/ChunkStream.php:10 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/ChunkStream.php on line 10 [26-Nov-2025 19:08:07 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DechunkStream.php:12 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/DechunkStream.php on line 12 [26-Nov-2025 19:08:20 UTC] PHP Fatal error: Uncaught Error: Class "Http\Message\Encoding\FilteredStream" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/GzipDecodeStream.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/GzipDecodeStream.php on line 13 [26-Nov-2025 19:33:34 UTC] PHP Fatal error: Trait "Http\Message\Decorator\StreamDecorator" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Encoding/FilteredStream.php on line 14 PK6D{[cA!src/Encoding/DecompressStream.phpnu[ */ class DecompressStream extends FilteredStream { /** * @param int $level */ public function __construct(StreamInterface $stream, $level = -1) { if (!extension_loaded('zlib')) { throw new \RuntimeException('The zlib extension must be enabled to use this stream'); } parent::__construct($stream, ['window' => 15]); // @deprecated will be removed in 2.0 $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => 15, 'level' => $level]); } protected function readFilter(): string { return 'zlib.inflate'; } protected function writeFilter(): string { return 'zlib.deflate'; } } PK6D{[?#=!src/Encoding/GzipEncodeStream.phpnu[ */ class GzipEncodeStream extends FilteredStream { /** * @param int $level */ public function __construct(StreamInterface $stream, $level = -1) { if (!extension_loaded('zlib')) { throw new \RuntimeException('The zlib extension must be enabled to use this stream'); } parent::__construct($stream, ['window' => 31, 'level' => $level]); // @deprecated will be removed in 2.0 $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => 31]); } /** * {@inheritdoc} */ protected function readFilter(): string { return 'zlib.deflate'; } /** * {@inheritdoc} */ protected function writeFilter(): string { return 'zlib.inflate'; } } PK6D{[,src/Encoding/CompressStream.phpnu[ */ class CompressStream extends FilteredStream { /** * @param int $level */ public function __construct(StreamInterface $stream, $level = -1) { if (!extension_loaded('zlib')) { throw new \RuntimeException('The zlib extension must be enabled to use this stream'); } parent::__construct($stream, ['window' => 15, 'level' => $level]); // @deprecated will be removed in 2.0 $this->writeFilterCallback = Filter\fun($this->writeFilter(), ['window' => 15]); } protected function readFilter(): string { return 'zlib.deflate'; } protected function writeFilter(): string { return 'zlib.inflate'; } } PK6D{[_Nsrc/Encoding/DechunkStream.phpnu[ */ class DechunkStream extends FilteredStream { protected function readFilter(): string { return 'dechunk'; } protected function writeFilter(): string { return 'chunk'; } } PK6D{[y*src/Exception/UnexpectedValueException.phpnu[ */ trait RequestDecorator { use MessageDecorator { getMessage as getRequest; } /** * Exchanges the underlying request with another. */ public function withRequest(RequestInterface $request): RequestInterface { $new = clone $this; $new->message = $request; return $new; } public function getRequestTarget(): string { return $this->message->getRequestTarget(); } public function withRequestTarget(string $requestTarget): RequestInterface { $new = clone $this; $new->message = $this->message->withRequestTarget($requestTarget); return $new; } public function getMethod(): string { return $this->message->getMethod(); } public function withMethod(string $method): RequestInterface { $new = clone $this; $new->message = $this->message->withMethod($method); return $new; } public function getUri(): UriInterface { return $this->message->getUri(); } public function withUri(UriInterface $uri, bool $preserveHost = false): RequestInterface { $new = clone $this; $new->message = $this->message->withUri($uri, $preserveHost); return $new; } } PK6D{[ؤ#src/Decorator/ResponseDecorator.phpnu[ */ trait ResponseDecorator { use MessageDecorator { getMessage as getResponse; } /** * Exchanges the underlying response with another. */ public function withResponse(ResponseInterface $response): ResponseInterface { $new = clone $this; $new->message = $response; return $new; } public function getStatusCode(): int { return $this->message->getStatusCode(); } public function withStatus(int $code, string $reasonPhrase = ''): ResponseInterface { $new = clone $this; $new->message = $this->message->withStatus($code, $reasonPhrase); return $new; } public function getReasonPhrase(): string { return $this->message->getReasonPhrase(); } } PK6D{[k"src/Decorator/MessageDecorator.phpnu[ */ trait MessageDecorator { /** * @var MessageInterface */ private $message; /** * Returns the decorated message. * * Since the underlying Message is immutable as well * exposing it is not an issue, because it's state cannot be altered */ public function getMessage(): MessageInterface { return $this->message; } public function getProtocolVersion(): string { return $this->message->getProtocolVersion(); } public function withProtocolVersion(string $version): MessageInterface { $new = clone $this; $new->message = $this->message->withProtocolVersion($version); return $new; } public function getHeaders(): array { return $this->message->getHeaders(); } public function hasHeader(string $header): bool { return $this->message->hasHeader($header); } public function getHeader(string $header): array { return $this->message->getHeader($header); } public function getHeaderLine(string $header): string { return $this->message->getHeaderLine($header); } public function withHeader(string $header, $value): MessageInterface { $new = clone $this; $new->message = $this->message->withHeader($header, $value); return $new; } public function withAddedHeader(string $header, $value): MessageInterface { $new = clone $this; $new->message = $this->message->withAddedHeader($header, $value); return $new; } public function withoutHeader(string $header): MessageInterface { $new = clone $this; $new->message = $this->message->withoutHeader($header); return $new; } public function getBody(): StreamInterface { return $this->message->getBody(); } public function withBody(StreamInterface $body): MessageInterface { $new = clone $this; $new->message = $this->message->withBody($body); return $new; } } PK6D{[J!src/Decorator/StreamDecorator.phpnu[ */ trait StreamDecorator { /** * @var StreamInterface */ protected $stream; public function __toString(): string { return $this->stream->__toString(); } public function close(): void { $this->stream->close(); } public function detach() { return $this->stream->detach(); } public function getSize(): ?int { return $this->stream->getSize(); } public function tell(): int { return $this->stream->tell(); } public function eof(): bool { return $this->stream->eof(); } public function isSeekable(): bool { return $this->stream->isSeekable(); } public function seek(int $offset, int $whence = SEEK_SET): void { $this->stream->seek($offset, $whence); } public function rewind(): void { $this->stream->rewind(); } public function isWritable(): bool { return $this->stream->isWritable(); } public function write(string $string): int { return $this->stream->write($string); } public function isReadable(): bool { return $this->stream->isReadable(); } public function read(int $length): string { return $this->stream->read($length); } public function getContents(): string { return $this->stream->getContents(); } public function getMetadata(string $key = null) { return $this->stream->getMetadata($key); } } PK6D{[^;G"{{src/Decorator/error_lognu[[25-Nov-2025 20:02:33 UTC] PHP Fatal error: Trait "Http\Message\Decorator\MessageDecorator" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Decorator/RequestDecorator.php on line 11 [25-Nov-2025 20:24:17 UTC] PHP Fatal error: Trait "Http\Message\Decorator\MessageDecorator" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Decorator/ResponseDecorator.php on line 10 [26-Nov-2025 18:43:41 UTC] PHP Fatal error: Trait "Http\Message\Decorator\MessageDecorator" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Decorator/ResponseDecorator.php on line 10 PK6D{[^Zxsrc/RequestMatcher.phpnu[ */ interface RequestMatcher { /** * Decides whether the rule(s) implemented by the strategy matches the supplied request. * * @param RequestInterface $request The PSR7 request to check for a match * * @return bool true if the request matches, false otherwise */ public function matches(RequestInterface $request); } PK6D{[++src/Cookie.phpnu[ * * @see http://tools.ietf.org/search/rfc6265 */ final class Cookie { /** * @var string */ private $name; /** * @var string|null */ private $value; /** * @var int|null */ private $maxAge; /** * @var string|null */ private $domain; /** * @var string */ private $path; /** * @var bool */ private $secure; /** * @var bool */ private $httpOnly; /** * Expires attribute is HTTP 1.0 only and should be avoided. * * @var \DateTime|null */ private $expires; /** * @param string $name * @param string|null $value * @param int|null $maxAge * @param string|null $domain * @param string|null $path * @param bool $secure * @param bool $httpOnly * @param \DateTime|null $expires Expires attribute is HTTP 1.0 only and should be avoided. * * @throws \InvalidArgumentException if name, value or max age is not valid */ public function __construct( $name, $value = null, $maxAge = null, $domain = null, $path = null, $secure = false, $httpOnly = false, \DateTime $expires = null ) { $this->validateName($name); $this->validateValue($value); $this->validateMaxAge($maxAge); $this->name = $name; $this->value = $value; $this->maxAge = $maxAge; $this->expires = $expires; $this->domain = $this->normalizeDomain($domain); $this->path = $this->normalizePath($path); $this->secure = (bool) $secure; $this->httpOnly = (bool) $httpOnly; } /** * Creates a new cookie without any attribute validation. * * @param string $name * @param string|null $value * @param int $maxAge * @param string|null $domain * @param string|null $path * @param bool $secure * @param bool $httpOnly * @param \DateTime|null $expires Expires attribute is HTTP 1.0 only and should be avoided. */ public static function createWithoutValidation( $name, $value = null, $maxAge = null, $domain = null, $path = null, $secure = false, $httpOnly = false, \DateTime $expires = null ) { $cookie = new self('name', null, null, $domain, $path, $secure, $httpOnly, $expires); $cookie->name = $name; $cookie->value = $value; $cookie->maxAge = $maxAge; return $cookie; } /** * Returns the name. * * @return string */ public function getName() { return $this->name; } /** * Returns the value. * * @return string|null */ public function getValue() { return $this->value; } /** * Checks if there is a value. * * @return bool */ public function hasValue() { return isset($this->value); } /** * Sets the value. * * @param string|null $value * * @return Cookie */ public function withValue($value) { $this->validateValue($value); $new = clone $this; $new->value = $value; return $new; } /** * Returns the max age. * * @return int|null */ public function getMaxAge() { return $this->maxAge; } /** * Checks if there is a max age. * * @return bool */ public function hasMaxAge() { return isset($this->maxAge); } /** * Sets the max age. * * @param int|null $maxAge * * @return Cookie */ public function withMaxAge($maxAge) { $this->validateMaxAge($maxAge); $new = clone $this; $new->maxAge = $maxAge; return $new; } /** * Returns the expiration time. * * @return \DateTime|null */ public function getExpires() { return $this->expires; } /** * Checks if there is an expiration time. * * @return bool */ public function hasExpires() { return isset($this->expires); } /** * Sets the expires. * * @return Cookie */ public function withExpires(\DateTime $expires = null) { $new = clone $this; $new->expires = $expires; return $new; } /** * Checks if the cookie is expired. * * @return bool */ public function isExpired() { return isset($this->expires) and $this->expires < new \DateTime(); } /** * Returns the domain. * * @return string|null */ public function getDomain() { return $this->domain; } /** * Checks if there is a domain. * * @return bool */ public function hasDomain() { return isset($this->domain); } /** * Sets the domain. * * @param string|null $domain * * @return Cookie */ public function withDomain($domain) { $new = clone $this; $new->domain = $this->normalizeDomain($domain); return $new; } /** * Checks whether this cookie is meant for this domain. * * @see http://tools.ietf.org/html/rfc6265#section-5.1.3 * * @param string $domain * * @return bool */ public function matchDomain($domain) { // Domain is not set or exact match if (!$this->hasDomain() || 0 === strcasecmp($domain, $this->domain)) { return true; } // Domain is not an IP address if (filter_var($domain, FILTER_VALIDATE_IP)) { return false; } return (bool) preg_match(sprintf('/\b%s$/i', preg_quote($this->domain)), $domain); } /** * Returns the path. * * @return string */ public function getPath() { return $this->path; } /** * Sets the path. * * @param string|null $path * * @return Cookie */ public function withPath($path) { $new = clone $this; $new->path = $this->normalizePath($path); return $new; } /** * Checks whether this cookie is meant for this path. * * @see http://tools.ietf.org/html/rfc6265#section-5.1.4 * * @param string $path * * @return bool */ public function matchPath($path) { return $this->path === $path || (0 === strpos($path, rtrim($this->path, '/').'/')); } /** * Checks whether this cookie may only be sent over HTTPS. * * @return bool */ public function isSecure() { return $this->secure; } /** * Sets whether this cookie should only be sent over HTTPS. * * @param bool $secure * * @return Cookie */ public function withSecure($secure) { $new = clone $this; $new->secure = (bool) $secure; return $new; } /** * Check whether this cookie may not be accessed through Javascript. * * @return bool */ public function isHttpOnly() { return $this->httpOnly; } /** * Sets whether this cookie may not be accessed through Javascript. * * @param bool $httpOnly * * @return Cookie */ public function withHttpOnly($httpOnly) { $new = clone $this; $new->httpOnly = (bool) $httpOnly; return $new; } /** * Checks if this cookie represents the same cookie as $cookie. * * This does not compare the values, only name, domain and path. * * @return bool */ public function match(self $cookie) { return $this->name === $cookie->name && $this->domain === $cookie->domain and $this->path === $cookie->path; } /** * Validates cookie attributes. * * @return bool */ public function isValid() { try { $this->validateName($this->name); $this->validateValue($this->value); $this->validateMaxAge($this->maxAge); } catch (\InvalidArgumentException $e) { return false; } return true; } /** * Validates the name attribute. * * @see http://tools.ietf.org/search/rfc2616#section-2.2 * * @param string $name * * @throws \InvalidArgumentException if the name is empty or contains invalid characters */ private function validateName($name) { if (strlen($name) < 1) { throw new \InvalidArgumentException('The name cannot be empty'); } // Name attribute is a token as per spec in RFC 2616 if (preg_match('/[\x00-\x20\x22\x28-\x29\x2C\x2F\x3A-\x40\x5B-\x5D\x7B\x7D\x7F]/', $name)) { throw new \InvalidArgumentException(sprintf('The cookie name "%s" contains invalid characters.', $name)); } } /** * Validates a value. * * @see http://tools.ietf.org/html/rfc6265#section-4.1.1 * * @param string|null $value * * @throws \InvalidArgumentException if the value contains invalid characters */ private function validateValue($value) { if (isset($value)) { if (preg_match('/[^\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]/', $value)) { throw new \InvalidArgumentException(sprintf('The cookie value "%s" contains invalid characters.', $value)); } } } /** * Validates a Max-Age attribute. * * @param int|null $maxAge * * @throws \InvalidArgumentException if the Max-Age is not an empty or integer value */ private function validateMaxAge($maxAge) { if (isset($maxAge)) { if (!is_int($maxAge)) { throw new \InvalidArgumentException('Max-Age must be integer'); } } } /** * Remove the leading '.' and lowercase the domain as per spec in RFC 6265. * * @see http://tools.ietf.org/html/rfc6265#section-4.1.2.3 * @see http://tools.ietf.org/html/rfc6265#section-5.1.3 * @see http://tools.ietf.org/html/rfc6265#section-5.2.3 * * @param string|null $domain * * @return string */ private function normalizeDomain($domain) { if (isset($domain)) { $domain = ltrim(strtolower($domain), '.'); } return $domain; } /** * Processes path as per spec in RFC 6265. * * @see http://tools.ietf.org/html/rfc6265#section-5.1.4 * @see http://tools.ietf.org/html/rfc6265#section-5.2.4 * * @param string|null $path * * @return string */ private function normalizePath($path) { $path = rtrim($path, '/'); if (empty($path) or '/' !== substr($path, 0, 1)) { $path = '/'; } return $path; } } PK6D{[~P!src/Formatter/SimpleFormatter.phpnu[ * @author Márk Sági-Kazár */ class SimpleFormatter implements Formatter { /** * {@inheritdoc} */ public function formatRequest(RequestInterface $request) { return sprintf( '%s %s %s', $request->getMethod(), $request->getUri()->__toString(), $request->getProtocolVersion() ); } /** * {@inheritdoc} */ public function formatResponse(ResponseInterface $response) { return sprintf( '%s %s %s', $response->getStatusCode(), $response->getReasonPhrase(), $response->getProtocolVersion() ); } /** * Formats a response in context of its request. * * @return string */ public function formatResponseForRequest(ResponseInterface $response, RequestInterface $request) { return $this->formatResponse($response); } } PK6D{[e>G  &src/Formatter/CurlCommandFormatter.phpnu[ */ class CurlCommandFormatter implements Formatter { /** * {@inheritdoc} */ public function formatRequest(RequestInterface $request) { $command = sprintf('curl %s', escapeshellarg((string) $request->getUri()->withFragment(''))); if ('1.0' === $request->getProtocolVersion()) { $command .= ' --http1.0'; } elseif ('2.0' === $request->getProtocolVersion()) { $command .= ' --http2'; } $method = strtoupper($request->getMethod()); if ('HEAD' === $method) { $command .= ' --head'; } elseif ('GET' !== $method) { $command .= ' --request '.$method; } $command .= $this->getHeadersAsCommandOptions($request); $body = $request->getBody(); if ($body->getSize() > 0) { // escapeshellarg argument max length on Windows, but longer body in curl command would be impractical anyways if ($body->getSize() > 8192) { $data = '[too long stream omitted]'; } elseif ($body->isSeekable()) { $data = $body->__toString(); $body->rewind(); // all non-printable ASCII characters and except for \t, \r, \n if (preg_match('/([\x00-\x09\x0C\x0E-\x1F\x7F])/', $data)) { $data = '[binary stream omitted]'; } } else { $data = '[non-seekable stream omitted]'; } $escapedData = @escapeshellarg($data); if (empty($escapedData)) { $escapedData = 'We couldn\'t not escape the data properly'; } $command .= sprintf(' --data %s', $escapedData); } return $command; } /** * {@inheritdoc} */ public function formatResponse(ResponseInterface $response) { return ''; } /** * Formats a response in context of its request. * * @return string */ public function formatResponseForRequest(ResponseInterface $response, RequestInterface $request) { return $this->formatResponse($response); } /** * @return string */ private function getHeadersAsCommandOptions(RequestInterface $request) { $command = ''; foreach ($request->getHeaders() as $name => $values) { if ('host' === strtolower($name) && $values[0] === $request->getUri()->getHost()) { continue; } if ('user-agent' === strtolower($name)) { $command .= sprintf(' -A %s', escapeshellarg($values[0])); continue; } $command .= sprintf(' -H %s', escapeshellarg($name.': '.$request->getHeaderLine($name))); } return $command; } } PK6D{[ChHHsrc/Formatter/error_lognu[[25-Nov-2025 18:01:19 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Formatter" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/FullHttpMessageFormatter.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/FullHttpMessageFormatter.php on line 15 [25-Nov-2025 19:50:20 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Formatter" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/CurlCommandFormatter.php:14 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/CurlCommandFormatter.php on line 14 [25-Nov-2025 20:22:43 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Formatter" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/SimpleFormatter.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/SimpleFormatter.php on line 15 [26-Nov-2025 17:12:14 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Formatter" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/SimpleFormatter.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/SimpleFormatter.php on line 15 [26-Nov-2025 17:32:08 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Formatter" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/CurlCommandFormatter.php:14 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/CurlCommandFormatter.php on line 14 [26-Nov-2025 19:44:55 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Formatter" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/FullHttpMessageFormatter.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Formatter/FullHttpMessageFormatter.php on line 15 PK6D{[`Ri *src/Formatter/FullHttpMessageFormatter.phpnu[ */ class FullHttpMessageFormatter implements Formatter { /** * The maximum length of the body. * * @var int|null */ private $maxBodyLength; /** * @var string */ private $binaryDetectionRegex; /** * @param int|null $maxBodyLength * @param string $binaryDetectionRegex By default, this is all non-printable ASCII characters and except for \t, \r, \n */ public function __construct($maxBodyLength = 1000, string $binaryDetectionRegex = '/([\x00-\x09\x0C\x0E-\x1F\x7F])/') { $this->maxBodyLength = $maxBodyLength; $this->binaryDetectionRegex = $binaryDetectionRegex; } /** * {@inheritdoc} */ public function formatRequest(RequestInterface $request) { $message = sprintf( "%s %s HTTP/%s\n", $request->getMethod(), $request->getRequestTarget(), $request->getProtocolVersion() ); foreach ($request->getHeaders() as $name => $values) { $message .= $name.': '.implode(', ', $values)."\n"; } return $this->addBody($request, $message); } /** * {@inheritdoc} */ public function formatResponse(ResponseInterface $response) { $message = sprintf( "HTTP/%s %s %s\n", $response->getProtocolVersion(), $response->getStatusCode(), $response->getReasonPhrase() ); foreach ($response->getHeaders() as $name => $values) { $message .= $name.': '.implode(', ', $values)."\n"; } return $this->addBody($response, $message); } /** * Formats a response in context of its request. * * @return string */ public function formatResponseForRequest(ResponseInterface $response, RequestInterface $request) { return $this->formatResponse($response); } /** * Add the message body if the stream is seekable. * * @param string $message * * @return string */ private function addBody(MessageInterface $request, $message) { $message .= "\n"; $stream = $request->getBody(); if (!$stream->isSeekable() || 0 === $this->maxBodyLength) { // Do not read the stream return $message; } $data = $stream->__toString(); $stream->rewind(); if (preg_match($this->binaryDetectionRegex, $data)) { return $message.'[binary stream omitted]'; } if (null === $this->maxBodyLength) { return $message.$data; } return $message.mb_substr($data, 0, $this->maxBodyLength); } } PK6D{[8j$src/Authentication/AutoBasicAuth.phpnu[ */ final class AutoBasicAuth implements Authentication { /** * Whether user info should be removed from the URI. * * @var bool */ private $shouldRemoveUserInfo; /** * @param bool|true $shouldRremoveUserInfo */ public function __construct($shouldRremoveUserInfo = true) { $this->shouldRemoveUserInfo = (bool) $shouldRremoveUserInfo; } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { $uri = $request->getUri(); $userInfo = $uri->getUserInfo(); if (!empty($userInfo)) { if ($this->shouldRemoveUserInfo) { $request = $request->withUri($uri->withUserInfo('')); } $request = $request->withHeader('Authorization', sprintf('Basic %s', base64_encode($userInfo))); } return $request; } } PK6D{[)@++src/Authentication/Matching.phpnu[ * * @deprecated since since version 1.2, and will be removed in 2.0. Use {@link RequestConditional} instead. */ final class Matching implements Authentication { /** * @var Authentication */ private $authentication; /** * @var CallbackRequestMatcher */ private $matcher; public function __construct(Authentication $authentication, callable $matcher = null) { if (is_null($matcher)) { $matcher = function () { return true; }; } $this->authentication = $authentication; $this->matcher = new CallbackRequestMatcher($matcher); } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { if ($this->matcher->matches($request)) { return $this->authentication->authenticate($request); } return $request; } /** * Creates a matching authentication for an URL. * * @param string $url * * @return self */ public static function createUrlMatcher(Authentication $authentication, $url) { $matcher = function (RequestInterface $request) use ($url) { return preg_match($url, $request->getRequestTarget()); }; return new static($authentication, $matcher); } } PK6D{[ׇTsrc/Authentication/Bearer.phpnu[ */ final class Bearer implements Authentication { /** * @var string */ private $token; /** * @param string $token */ public function __construct($token) { $this->token = $token; } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { $header = sprintf('Bearer %s', $this->token); return $request->withHeader('Authorization', $header); } } PK6D{[dsrc/Authentication/Wsse.phpnu[ */ final class Wsse implements Authentication { /** * @var string */ private $username; /** * @var string */ private $password; /** * @var string */ private $hashAlgorithm; /** * @param string $username * @param string $password * @param string $hashAlgorithm To use a better hashing algorithm than the weak sha1, pass the algorithm to use, e.g. "sha512" */ public function __construct($username, $password, $hashAlgorithm = 'sha1') { $this->username = $username; $this->password = $password; if (false === in_array($hashAlgorithm, hash_algos())) { throw new \InvalidArgumentException(sprintf('Unaccepted hashing algorithm: %s', $hashAlgorithm)); } $this->hashAlgorithm = $hashAlgorithm; } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { $nonce = substr(md5(uniqid(uniqid().'_', true)), 0, 16); $created = date('c'); $digest = base64_encode(hash($this->hashAlgorithm, base64_decode($nonce).$created.$this->password, true)); $wsse = sprintf( 'UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"', $this->username, $digest, $nonce, $created ); return $request ->withHeader('Authorization', 'WSSE profile="UsernameToken"') ->withHeader('X-WSSE', $wsse) ; } } PK6D{[(Am)src/Authentication/RequestConditional.phpnu[ */ final class RequestConditional implements Authentication { /** * @var RequestMatcher */ private $requestMatcher; /** * @var Authentication */ private $authentication; public function __construct(RequestMatcher $requestMatcher, Authentication $authentication) { $this->requestMatcher = $requestMatcher; $this->authentication = $authentication; } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { if ($this->requestMatcher->matches($request)) { return $this->authentication->authenticate($request); } return $request; } } PK6D{[JeZZsrc/Authentication/error_lognu[[25-Nov-2025 18:01:04 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/AutoBasicAuth.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/AutoBasicAuth.php on line 13 [25-Nov-2025 18:02:51 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Wsse.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Wsse.php on line 13 [25-Nov-2025 19:53:05 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Bearer.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Bearer.php on line 13 [25-Nov-2025 19:53:38 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/BasicAuth.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/BasicAuth.php on line 13 [25-Nov-2025 20:04:39 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/QueryParam.php:16 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/QueryParam.php on line 16 [25-Nov-2025 21:38:52 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Matching.php:18 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Matching.php on line 18 [25-Nov-2025 21:38:59 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Header.php:8 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Header.php on line 8 [25-Nov-2025 22:03:58 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/RequestConditional.php:14 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/RequestConditional.php on line 14 [25-Nov-2025 22:04:16 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Chain.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Chain.php on line 13 [26-Nov-2025 17:10:00 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/AutoBasicAuth.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/AutoBasicAuth.php on line 13 [26-Nov-2025 17:10:47 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Bearer.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Bearer.php on line 13 [26-Nov-2025 17:33:45 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Matching.php:18 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Matching.php on line 18 [26-Nov-2025 18:43:16 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Wsse.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Wsse.php on line 13 [26-Nov-2025 18:43:37 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Chain.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Chain.php on line 13 [26-Nov-2025 18:45:12 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/QueryParam.php:16 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/QueryParam.php on line 16 [26-Nov-2025 18:45:15 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/RequestConditional.php:14 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/RequestConditional.php on line 14 [26-Nov-2025 19:05:22 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Header.php:8 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/Header.php on line 8 [26-Nov-2025 19:33:20 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\Authentication" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/BasicAuth.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Authentication/BasicAuth.php on line 13 PK6D{[g||src/Authentication/Header.phpnu[name = $name; $this->value = $value; } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { return $request->withHeader($this->name, $this->value); } } PK6D{[?Bsrc/Authentication/Chain.phpnu[ */ final class Chain implements Authentication { /** * @var Authentication[] */ private $authenticationChain = []; /** * @param Authentication[] $authenticationChain */ public function __construct(array $authenticationChain = []) { foreach ($authenticationChain as $authentication) { if (!$authentication instanceof Authentication) { throw new \InvalidArgumentException( 'Members of the authentication chain must be of type Http\Message\Authentication' ); } } $this->authenticationChain = $authenticationChain; } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { foreach ($this->authenticationChain as $authentication) { $request = $authentication->authenticate($request); } return $request; } } PK6D{[sNN!src/Authentication/QueryParam.phpnu[ */ final class QueryParam implements Authentication { /** * @var array */ private $params = []; public function __construct(array $params) { $this->params = $params; } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { $uri = $request->getUri(); $query = $uri->getQuery(); $params = []; parse_str($query, $params); $params = array_merge($params, $this->params); $query = http_build_query($params, '', '&'); $uri = $uri->withQuery($query); return $request->withUri($uri); } } PK6D{[  src/Authentication/BasicAuth.phpnu[ */ final class BasicAuth implements Authentication { /** * @var string */ private $username; /** * @var string */ private $password; /** * @param string $username * @param string $password */ public function __construct($username, $password) { $this->username = $username; $this->password = $password; } /** * {@inheritdoc} */ public function authenticate(RequestInterface $request) { $header = sprintf('Basic %s', base64_encode(sprintf('%s:%s', $this->username, $this->password))); return $request->withHeader('Authorization', $header); } } PK6D{[5v88%src/RequestMatcher/RequestMatcher.phpnu[ * @author Joel Wurtz */ final class RequestMatcher implements RequestMatcherInterface { /** * @var string */ private $path; /** * @var string */ private $host; /** * @var array */ private $methods = []; /** * @var string[] */ private $schemes = []; /** * The regular expressions used for path or host must be specified without delimiter. * You do not need to escape the forward slash / to match it. * * @param string|null $path Regular expression for the path * @param string|null $host Regular expression for the hostname * @param string|string[]|null $methods Method or list of methods to match * @param string|string[]|null $schemes Scheme or list of schemes to match (e.g. http or https) */ public function __construct($path = null, $host = null, $methods = [], $schemes = []) { $this->path = $path; $this->host = $host; $this->methods = array_map('strtoupper', (array) $methods); $this->schemes = array_map('strtolower', (array) $schemes); } /** * {@inheritdoc} * * @api */ public function matches(RequestInterface $request) { if ($this->schemes && !in_array($request->getUri()->getScheme(), $this->schemes)) { return false; } if ($this->methods && !in_array($request->getMethod(), $this->methods)) { return false; } if (null !== $this->path && !preg_match('{'.$this->path.'}', rawurldecode($request->getUri()->getPath()))) { return false; } if (null !== $this->host && !preg_match('{'.$this->host.'}i', $request->getUri()->getHost())) { return false; } return true; } } PK6D{[*src/RequestMatcher/RegexRequestMatcher.phpnu[ * * @deprecated since version 1.2 and will be removed in 2.0. Use {@link RequestMatcher} instead. */ final class RegexRequestMatcher implements RequestMatcher { /** * Matching regex. * * @var string */ private $regex; /** * @param string $regex */ public function __construct($regex) { $this->regex = $regex; } /** * {@inheritdoc} */ public function matches(RequestInterface $request) { return (bool) preg_match($this->regex, (string) $request->getUri()); } } PK6D{[Ymm-src/RequestMatcher/CallbackRequestMatcher.phpnu[ */ final class CallbackRequestMatcher implements RequestMatcher { /** * @var callable */ private $callback; public function __construct(callable $callback) { $this->callback = $callback; } /** * {@inheritdoc} */ public function matches(RequestInterface $request) { return (bool) call_user_func($this->callback, $request); } } PK6D{[n#Ւsrc/RequestMatcher/error_lognu[[25-Nov-2025 20:00:33 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\RequestMatcher" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/RequestMatcher.php:14 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/RequestMatcher.php on line 14 [25-Nov-2025 20:22:14 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\RequestMatcher" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/RegexRequestMatcher.php:17 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/RegexRequestMatcher.php on line 17 [25-Nov-2025 21:37:23 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\RequestMatcher" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/CallbackRequestMatcher.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/CallbackRequestMatcher.php on line 13 [26-Nov-2025 19:06:59 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\RequestMatcher" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/CallbackRequestMatcher.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/CallbackRequestMatcher.php on line 13 [26-Nov-2025 19:43:26 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\RequestMatcher" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/RequestMatcher.php:14 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/RequestMatcher.php on line 14 [26-Nov-2025 19:43:27 UTC] PHP Fatal error: Uncaught Error: Interface "Http\Message\RequestMatcher" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/RegexRequestMatcher.php:17 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/RequestMatcher/RegexRequestMatcher.php on line 17 PK6D{[)src/StreamFactory/GuzzleStreamFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Guzzle PSR-17 factory */ final class GuzzleStreamFactory implements StreamFactory { /** * {@inheritdoc} */ public function createStream($body = null) { if (class_exists(Utils::class)) { return Utils::streamFor($body); } // legacy support for guzzle/psr7 1.* return \GuzzleHttp\Psr7\stream_for($body); } } PK6D{[ݜ6,src/StreamFactory/DiactorosStreamFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Diactoros PSR-17 factory */ final class DiactorosStreamFactory implements StreamFactory { /** * {@inheritdoc} */ public function createStream($body = null) { if ($body instanceof StreamInterface) { return $body; } if (is_resource($body)) { if (class_exists(LaminasStream::class)) { return new LaminasStream($body); } return new ZendStream($body); } if (class_exists(LaminasStream::class)) { $stream = new LaminasStream('php://memory', 'rw'); } else { $stream = new ZendStream('php://memory', 'rw'); } if (null !== $body && '' !== $body) { $stream->write((string) $body); } return $stream; } } PK6D{[n| | src/StreamFactory/error_lognu[[25-Nov-2025 19:58:20 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\DiactorosStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/DiactorosStreamFactory.php:11 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/DiactorosStreamFactory.php on line 11 [25-Nov-2025 20:00:26 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\SlimStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/SlimStreamFactory.php:10 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/SlimStreamFactory.php on line 10 [25-Nov-2025 22:02:00 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\GuzzleStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/GuzzleStreamFactory.php:9 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/GuzzleStreamFactory.php on line 9 [26-Nov-2025 19:05:22 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\GuzzleStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/GuzzleStreamFactory.php:9 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/GuzzleStreamFactory.php on line 9 [26-Nov-2025 19:36:52 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\DiactorosStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/DiactorosStreamFactory.php:11 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/DiactorosStreamFactory.php on line 11 [26-Nov-2025 19:42:51 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\SlimStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/SlimStreamFactory.php:10 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/StreamFactory/SlimStreamFactory.php on line 10 PK6D{[ j?'src/StreamFactory/SlimStreamFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Slim PSR-17 factory */ final class SlimStreamFactory implements StreamFactory { /** * {@inheritdoc} */ public function createStream($body = null) { if ($body instanceof StreamInterface) { return $body; } if (is_resource($body)) { return new Stream($body); } $resource = fopen('php://memory', 'r+'); $stream = new Stream($resource); if (null !== $body && '' !== $body) { $stream->write((string) $body); } return $stream; } } PK6D{[<&&src/Stream/BufferedStream.phpnu[stream = $stream; $this->size = $stream->getSize(); if ($useFileBuffer) { $this->resource = fopen('php://temp/maxmemory:'.$memoryBuffer, 'rw+'); } else { $this->resource = fopen('php://memory', 'rw+'); } if (false === $this->resource) { throw new \RuntimeException('Cannot create a resource over temp or memory implementation'); } } public function __toString(): string { try { $this->rewind(); return $this->getContents(); } catch (\Throwable $throwable) { return ''; } } public function close(): void { if (null === $this->resource) { throw new \RuntimeException('Cannot close on a detached stream'); } $this->stream->close(); fclose($this->resource); } public function detach() { if (null === $this->resource) { return null; } // Force reading the remaining data of the stream $this->getContents(); $resource = $this->resource; $this->stream->close(); $this->stream = null; $this->resource = null; return $resource; } public function getSize(): ?int { if (null === $this->resource) { return null; } if (null === $this->size && $this->stream->eof()) { return $this->written; } return $this->size; } public function tell(): int { if (null === $this->resource) { throw new \RuntimeException('Cannot tell on a detached stream'); } $tell = ftell($this->resource); if (false === $tell) { throw new \RuntimeException('ftell failed'); } return $tell; } public function eof(): bool { if (null === $this->resource) { throw new \RuntimeException('Cannot call eof on a detached stream'); } // We are at the end only when both our resource and underlying stream are at eof return $this->stream->eof() && (ftell($this->resource) === $this->written); } public function isSeekable(): bool { return null !== $this->resource; } public function seek(int $offset, int $whence = SEEK_SET): void { if (null === $this->resource) { throw new \RuntimeException('Cannot seek on a detached stream'); } fseek($this->resource, $offset, $whence); } public function rewind(): void { if (null === $this->resource) { throw new \RuntimeException('Cannot rewind on a detached stream'); } rewind($this->resource); } public function isWritable(): bool { return false; } public function write(string $string): int { throw new \RuntimeException('Cannot write on this stream'); } public function isReadable(): bool { return null !== $this->resource; } public function read(int $length): string { if (null === $this->resource) { throw new \RuntimeException('Cannot read on a detached stream'); } if ($length < 0) { throw new \InvalidArgumentException('Can not read a negative amount of bytes'); } $read = ''; // First read from the resource if (ftell($this->resource) !== $this->written) { $read = fread($this->resource, $length); } if (false === $read) { throw new \RuntimeException('Failed to read from resource'); } $bytesRead = strlen($read); if ($bytesRead < $length) { $streamRead = $this->stream->read($length - $bytesRead); // Write on the underlying stream what we read $this->written += fwrite($this->resource, $streamRead); $read .= $streamRead; } return $read; } public function getContents(): string { if (null === $this->resource) { throw new \RuntimeException('Cannot read on a detached stream'); } $read = ''; while (!$this->eof()) { $read .= $this->read(8192); } return $read; } public function getMetadata(?string $key = null) { if (null === $this->resource) { if (null === $key) { return []; } return null; } $metadata = stream_get_meta_data($this->resource); if (null === $key) { return $metadata; } if (!array_key_exists($key, $metadata)) { return null; } return $metadata[$key]; } } PK6D{[54Vsrc/Stream/error_lognu[[25-Nov-2025 18:01:47 UTC] PHP Fatal error: Uncaught Error: Interface "Psr\Http\Message\StreamInterface" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Stream/BufferedStream.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Stream/BufferedStream.php on line 15 [26-Nov-2025 19:04:31 UTC] PHP Fatal error: Uncaught Error: Interface "Psr\Http\Message\StreamInterface" not found in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Stream/BufferedStream.php:15 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/Stream/BufferedStream.php on line 15 PK6D{[/Q11src/Builder/ResponseBuilder.phpnu[response = $response; } /** * Return response. * * @return ResponseInterface */ public function getResponse() { return $this->response; } /** * Add headers represented by an array of header lines. * * @param string[] $headers response headers as array of header lines * * @return $this * * @throws \UnexpectedValueException for invalid header values * @throws \InvalidArgumentException for invalid status code arguments */ public function setHeadersFromArray(array $headers) { $status = array_shift($headers); $this->setStatus($status); foreach ($headers as $headerLine) { $headerLine = trim($headerLine); if ('' === $headerLine) { continue; } $this->addHeader($headerLine); } return $this; } /** * Add headers represented by a single string. * * @param string $headers response headers as single string * * @return $this * * @throws \InvalidArgumentException if $headers is not a string on object with __toString() * @throws \UnexpectedValueException for invalid header values */ public function setHeadersFromString($headers) { if (!(is_string($headers) || (is_object($headers) && method_exists($headers, '__toString'))) ) { throw new \InvalidArgumentException( sprintf( '%s expects parameter 1 to be a string, %s given', __METHOD__, is_object($headers) ? get_class($headers) : gettype($headers) ) ); } $this->setHeadersFromArray(explode("\r\n", $headers)); return $this; } /** * Set response status from a status string. * * @param string $statusLine response status as a string * * @return $this * * @throws \InvalidArgumentException for invalid status line */ public function setStatus($statusLine) { $parts = explode(' ', $statusLine, 3); if (count($parts) < 2 || 0 !== strpos(strtolower($parts[0]), 'http/')) { throw new \InvalidArgumentException( sprintf('"%s" is not a valid HTTP status line', $statusLine) ); } $reasonPhrase = count($parts) > 2 ? $parts[2] : ''; $this->response = $this->response ->withStatus((int) $parts[1], $reasonPhrase) ->withProtocolVersion(substr($parts[0], 5)); return $this; } /** * Add header represented by a string. * * @param string $headerLine response header as a string * * @return $this * * @throws \InvalidArgumentException for invalid header names or values */ public function addHeader($headerLine) { $parts = explode(':', $headerLine, 2); if (2 !== count($parts)) { throw new \InvalidArgumentException( sprintf('"%s" is not a valid HTTP header line', $headerLine) ); } $name = trim($parts[0]); $value = trim($parts[1]); if ($this->response->hasHeader($name)) { $this->response = $this->response->withAddedHeader($name, $value); } else { $this->response = $this->response->withHeader($name, $value); } return $this; } } PK6D{[GOA+src/MessageFactory/GuzzleMessageFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Guzzle PSR-17 factory */ final class GuzzleMessageFactory implements MessageFactory { /** * {@inheritdoc} */ public function createRequest( $method, $uri, array $headers = [], $body = null, $protocolVersion = '1.1' ) { return new Request( $method, $uri, $headers, $body, $protocolVersion ); } /** * {@inheritdoc} */ public function createResponse( $statusCode = 200, $reasonPhrase = null, array $headers = [], $body = null, $protocolVersion = '1.1' ) { return new Response( $statusCode, $headers, $body, $protocolVersion, $reasonPhrase ); } } PK6D{[B5 src/MessageFactory/error_lognu[[25-Nov-2025 19:53:59 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\SlimMessageFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/SlimMessageFactory.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/SlimMessageFactory.php on line 13 [25-Nov-2025 19:54:47 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\GuzzleMessageFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/GuzzleMessageFactory.php:10 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/GuzzleMessageFactory.php on line 10 [25-Nov-2025 19:59:47 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\DiactorosMessageFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/DiactorosMessageFactory.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/DiactorosMessageFactory.php on line 13 [26-Nov-2025 18:48:09 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\DiactorosMessageFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/DiactorosMessageFactory.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/DiactorosMessageFactory.php on line 13 [26-Nov-2025 19:08:28 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\GuzzleMessageFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/GuzzleMessageFactory.php:10 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/GuzzleMessageFactory.php on line 10 [26-Nov-2025 19:08:36 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\SlimMessageFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/SlimMessageFactory.php:13 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/MessageFactory/SlimMessageFactory.php on line 13 PK6D{[ Y)src/MessageFactory/SlimMessageFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Slim PSR-17 factory */ final class SlimMessageFactory implements MessageFactory { /** * @var SlimStreamFactory */ private $streamFactory; /** * @var SlimUriFactory */ private $uriFactory; public function __construct() { $this->streamFactory = new SlimStreamFactory(); $this->uriFactory = new SlimUriFactory(); } /** * {@inheritdoc} */ public function createRequest( $method, $uri, array $headers = [], $body = null, $protocolVersion = '1.1' ) { return (new Request( $method, $this->uriFactory->createUri($uri), new Headers($headers), [], [], $this->streamFactory->createStream($body), [] ))->withProtocolVersion($protocolVersion); } /** * {@inheritdoc} */ public function createResponse( $statusCode = 200, $reasonPhrase = null, array $headers = [], $body = null, $protocolVersion = '1.1' ) { return (new Response( $statusCode, new Headers($headers), $this->streamFactory->createStream($body) ))->withProtocolVersion($protocolVersion); } } PK6D{[U\ .src/MessageFactory/DiactorosMessageFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Diactoros PSR-17 factory */ final class DiactorosMessageFactory implements MessageFactory { /** * @var DiactorosStreamFactory */ private $streamFactory; public function __construct() { $this->streamFactory = new DiactorosStreamFactory(); } /** * {@inheritdoc} */ public function createRequest( $method, $uri, array $headers = [], $body = null, $protocolVersion = '1.1' ) { if (class_exists(LaminasRequest::class)) { return (new LaminasRequest( $uri, $method, $this->streamFactory->createStream($body), $headers ))->withProtocolVersion($protocolVersion); } return (new ZendRequest( $uri, $method, $this->streamFactory->createStream($body), $headers ))->withProtocolVersion($protocolVersion); } /** * {@inheritdoc} */ public function createResponse( $statusCode = 200, $reasonPhrase = null, array $headers = [], $body = null, $protocolVersion = '1.1' ) { if (class_exists(LaminasResponse::class)) { return (new LaminasResponse( $this->streamFactory->createStream($body), $statusCode, $headers ))->withProtocolVersion($protocolVersion); } return (new ZendResponse( $this->streamFactory->createStream($body), $statusCode, $headers ))->withProtocolVersion($protocolVersion); } } PK6D{[jHsrc/Formatter.phpnu[ * * The formatResponseForRequest method will be added to this interface in the next major version, replacing the formatRequest method. * Meanwhile, callers SHOULD check the formatter for the existence of formatResponseForRequest and call that if available. * * @method string formatResponseForRequest(ResponseInterface $response, RequestInterface $request) Formats a response in context of its request. */ interface Formatter { /** * Formats a request. * * @return string */ public function formatRequest(RequestInterface $request); /** * @deprecated since 1.13, use formatResponseForRequest() instead * * Formats a response. * * @return string */ public function formatResponse(ResponseInterface $response); } PK6D{[8#src/UriFactory/GuzzleUriFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Guzzle PSR-17 factory */ final class GuzzleUriFactory implements UriFactory { /** * {@inheritdoc} */ public function createUri($uri) { if (class_exists(Utils::class)) { return Utils::uriFor($uri); } return uri_for($uri); } } PK6D{[#z!src/UriFactory/SlimUriFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Slim PSR-17 factory */ final class SlimUriFactory implements UriFactory { /** * {@inheritdoc} */ public function createUri($uri) { if ($uri instanceof UriInterface) { return $uri; } if (is_string($uri)) { return Uri::createFromString($uri); } throw new \InvalidArgumentException('URI must be a string or UriInterface'); } } PK6D{[& & src/UriFactory/error_lognu[[25-Nov-2025 18:03:20 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\SlimUriFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/SlimUriFactory.php:10 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/SlimUriFactory.php on line 10 [25-Nov-2025 20:25:10 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\GuzzleUriFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/GuzzleUriFactory.php:11 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/GuzzleUriFactory.php on line 11 [25-Nov-2025 21:38:53 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\DiactorosUriFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/DiactorosUriFactory.php:11 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/DiactorosUriFactory.php on line 11 [26-Nov-2025 17:32:12 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\SlimUriFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/SlimUriFactory.php:10 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/SlimUriFactory.php on line 10 [26-Nov-2025 19:07:54 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\DiactorosUriFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/DiactorosUriFactory.php:11 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/DiactorosUriFactory.php on line 11 [26-Nov-2025 19:38:00 UTC] PHP Fatal error: Uncaught LogicException: You cannot use "Http\Message\MessageFactory\GuzzleUriFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/GuzzleUriFactory.php:11 Stack trace: #0 {main} thrown in /home/fluxyjvi/public_html/project/vendor/php-http/message/src/UriFactory/GuzzleUriFactory.php on line 11 PK6D{[Tʷ&src/UriFactory/DiactorosUriFactory.phpnu[ * * @deprecated This will be removed in php-http/message2.0. Consider using the official Diactoros PSR-17 factory */ final class DiactorosUriFactory implements UriFactory { /** * {@inheritdoc} */ public function createUri($uri) { if ($uri instanceof UriInterface) { return $uri; } elseif (is_string($uri)) { if (class_exists(LaminasUri::class)) { return new LaminasUri($uri); } return new ZendUri($uri); } throw new \InvalidArgumentException('URI must be a string or UriInterface'); } } PK6D{[4X;;.php-cs-fixer.dist.phpnu[in(__DIR__.'/src') ->in(__DIR__.'/spec') ->name('*.php') ; $config = new PhpCsFixer\Config(); return $config ->setRiskyAllowed(true) ->setRules([ '@Symfony' => true, 'single_line_throw' => false, ]) ->setFinder($finder) ; PK6D{[ !00 README.mdnu[# HTTP Message [![Latest Version](https://img.shields.io/github/release/php-http/message.svg?style=flat-square)](https://github.com/php-http/message/releases) [![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) [![tests](https://github.com/php-http/message/actions/workflows/ci.yml/badge.svg)](https://github.com/php-http/message/actions/workflows/ci.yml) [![Total Downloads](https://img.shields.io/packagist/dt/php-http/message.svg?style=flat-square)](https://packagist.org/packages/php-http/message) **HTTP Message related tools.** ## Install Via Composer ``` bash $ composer require php-http/message ``` ## Intro This package contains various PSR-7 tools which might be useful in an HTTP workflow: - Authentication method implementations - Various Stream encoding tools - Message decorators - Message factory implementations for Guzzle PSR-7 and Diactoros - Cookie implementation - Request matchers ## Documentation Please see the [official documentation](http://docs.php-http.org/en/latest/message.html). ## Testing ``` bash $ composer test ``` ## Credits Thanks to [Cuzzle](https://github.com/namshi/cuzzle) for inpiration for the `CurlCommandFormatter`. ## License The MIT License (MIT). Please see [License File](LICENSE) for more information. PK6D{[S::LICENSEnu[Copyright (c) 2015-2016 PHP HTTP Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. PK6D{[0n puli.jsonnu[{ "version": "1.0", "name": "php-http/message", "bindings": { "064d003d-78a1-48c4-8f3b-1f92ff25da69": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\DiactorosMessageFactory", "type": "Http\\Message\\MessageFactory", "parameters": { "depends": "Zend\\Diactoros\\Request" } }, "0836751e-6558-4d1b-8993-4a52012947c3": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\SlimMessageFactory", "type": "Http\\Message\\ResponseFactory" }, "1d127622-dc61-4bfa-b9da-d221548d72c3": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\SlimMessageFactory", "type": "Http\\Message\\RequestFactory" }, "2438c2d0-0658-441f-8855-ddaf0f87d54d": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\GuzzleMessageFactory", "type": "Http\\Message\\MessageFactory", "parameters": { "depends": "GuzzleHttp\\Psr7\\Request" } }, "253aa08c-d705-46e7-b1d2-e28c97eef792": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\GuzzleMessageFactory", "type": "Http\\Message\\RequestFactory", "parameters": { "depends": "GuzzleHttp\\Psr7\\Request" } }, "273a34f9-62f4-4ba1-9801-b1284d49ff89": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\StreamFactory\\GuzzleStreamFactory", "type": "Http\\Message\\StreamFactory", "parameters": { "depends": "GuzzleHttp\\Psr7\\Stream" } }, "304b83db-b594-4d83-ae75-1f633adf92f7": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\UriFactory\\GuzzleUriFactory", "type": "Http\\Message\\UriFactory", "parameters": { "depends": "GuzzleHttp\\Psr7\\Uri" } }, "3f4bc1cd-aa95-4702-9fa7-65408e471691": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\UriFactory\\DiactorosUriFactory", "type": "Http\\Message\\UriFactory", "parameters": { "depends": "Zend\\Diactoros\\Uri" } }, "4672a6ee-ad9e-4109-a5d1-b7d46f26c7a1": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\SlimMessageFactory", "type": "Http\\Message\\MessageFactory" }, "6234e947-d3bd-43eb-97d5-7f9e22e6bb1b": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\DiactorosMessageFactory", "type": "Http\\Message\\ResponseFactory", "parameters": { "depends": "Zend\\Diactoros\\Response" } }, "6a9ad6ce-d82c-470f-8e30-60f21d9d95bf": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\UriFactory\\SlimUriFactory", "type": "Http\\Message\\UriFactory" }, "72c2afa0-ea56-4d03-adb6-a9f241a8a734": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\StreamFactory\\SlimStreamFactory", "type": "Http\\Message\\StreamFactory" }, "95c1be8f-39fe-4abd-8351-92cb14379a75": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\StreamFactory\\DiactorosStreamFactory", "type": "Http\\Message\\StreamFactory", "parameters": { "depends": "Zend\\Diactoros\\Stream" } }, "a018af27-7590-4dcf-83a1-497f95604cd6": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\GuzzleMessageFactory", "type": "Http\\Message\\ResponseFactory", "parameters": { "depends": "GuzzleHttp\\Psr7\\Response" } }, "c07955b1-de46-43db-923b-d07fae9382cb": { "_class": "Puli\\Discovery\\Binding\\ClassBinding", "class": "Http\\Message\\MessageFactory\\DiactorosMessageFactory", "type": "Http\\Message\\RequestFactory", "parameters": { "depends": "Zend\\Diactoros\\Request" } } } } PK6D{[w7~ composer.jsonnu[{ "name": "php-http/message", "description": "HTTP Message related tools", "keywords": [ "message", "http", "psr-7" ], "homepage": "http://php-http.org", "license": "MIT", "authors": [ { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com" } ], "require": { "php": "^7.2 || ^8.0", "clue/stream-filter": "^1.5", "psr/http-message": "^1.1 || ^2.0" }, "provide": { "php-http/message-factory-implementation": "1.0" }, "require-dev": { "ext-zlib": "*", "ergebnis/composer-normalize": "^2.6", "guzzlehttp/psr7": "^1.0 || ^2.0", "php-http/message-factory": "^1.0.2", "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", "slim/slim": "^3.0", "laminas/laminas-diactoros": "^2.0 || ^3.0" }, "suggest": { "ext-zlib": "Used with compressor/decompressor streams", "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", "laminas/laminas-diactoros": "Used with Diactoros Factories", "slim/slim": "Used with Slim Framework PSR-7 implementation" }, "config": { "sort-packages": true, "allow-plugins": { "ergebnis/composer-normalize": true } }, "autoload": { "psr-4": { "Http\\Message\\": "src/" }, "files": [ "src/filters.php" ] }, "autoload-dev": { "psr-4": { "spec\\Http\\Message\\": "spec/" } }, "scripts": { "test": "vendor/bin/phpspec run", "test-ci": "vendor/bin/phpspec run -c phpspec.ci.yml" } } PK6D{[Ȥ6FF apigen.neonnu[source: - src/ destination: build/api/ templateTheme: bootstrap PK6D{[G< < CHANGELOG.mdnu[# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [1.16.0] - 2023-05-17 - Remove direct dependency on `php-http/message-factory` as it is only needed for the deprecated Httplug factories. Upgrade to PSR-17 message factories provided by your HTTP client implementation. If you need the Httplug factories for the time being, you can `composer require php-http/message-factory` in your application. ## [1.15.0] - 2023-05-10 **If you use the decorator classes, you might need to adjust your code to the parameter and return type declarations added in PSR-7** - Actually make compatible with PSR-7 1.1 and 2.0 - Drop support for PHP 7.1 ## [1.14.0] - 2023-04-14 (broken) **This release is not actually compatible with PSR-7 1.1 or 2.0** - Allow installation with http-message (PSR-7) version 2 in addition to version 1. - Support for PHP 8.2 ## [1.13.0] - 2022-02-11 - Added `Formatter::formatResponseForRequest()` to allow the formatter to get context from the request to decide what of the response to output. - Deprecated `Formatter::formatResponse()` in favor of the new `formatResponseForRequest` method. ## [1.12.0] - 2021-08-29 - Added support for adjusting binary detection regex in FullHttpMessageFormatter. ## [1.11.2] - 2021-08-03 - Support GuzzleHttp/Psr7 version 2.0 in the (deprecated) GuzzleStreamFactory. ## [1.11.1] - 2021-05-24 - Support GuzzleHttp/Psr7 version 2.0 in the (deprecated) GuzzleUriFactory. ## [1.11.0] - 2020-02-01 - Migrated from `zendframework/zend-diactoros` to `laminas/laminas-diactoros`. Users are encouraged to update their dependencies by simply replacing the Zend package with the Laminas package. Due to the [laminas-zendframework-brige](https://github.com/laminas/laminas-zendframework-bridge), BC changes are not expected and legacy code does not need to be refactored (though it is [recommended and simple](https://docs.laminas.dev/migration/)). - The diactoros factories of `php-http/message` will return objects from the `Laminas\Diactoros\` namespace, if the respective classes are available via autoloading, but continue to return objects from `Zend\Diactoros\` namespace otherwise. - Allow to specify the hashing algorithm for WSSE authentication. ## [1.10.0] - 2020-11-11 - Added support for PHP 8.0. ## [1.9.1] - 2020-10-13 - Improved detection of binary stream to not consider newlines, carriage return or tabs as binary. ## [1.9.0] - 2020-08-17 - Omitted binary body in FullHttpMessageFormatter and CurlCommandFormatter. `[binary stream omitted]` will be shown instead. ### Added - New Header authentication method for arbitrary header authentication. ## [1.8.0] - 2019-08-05 ### Changed - Raised minimum PHP version to 7.1 ### Fixed - Fatal error on `CurlCommandFormatter` when body is larger than `escapeshellarg` allowed length. - Do not read stream in message formatter if stream is not seekable. ## [1.7.2] - 2018-10-30 ### Fixed - FilteredStream uses `@trigger_error` instead of throwing exceptions to not break careless users. You still need to fix your stream code to respect `isSeekable`. Seeking does not work as expected, and we will add exceptions in version 2. ## [1.7.1] - 2018-10-29 ### Fixed - FilteredStream is not actually seekable ## [1.7.0] - 2018-08-15 ### Fixed - Fix CurlCommandFormatter for binary request payloads - Fix QueryParam authentication to assemble proper URL regardless of PHP `arg_separator.output` directive - Do not pass `null` parameters to `Clue\StreamFilter\fun` ### Changed - Dropped tests on HHVM ## [1.6.0] - 2017-07-05 ### Added - CookieUtil::parseDate to create a date from cookie date string ### Fixed - Fix curl command of CurlFormatter when there is an user-agent header ## [1.5.0] - 2017-02-14 ### Added - Check for empty string in Stream factories - Cookie::createWithoutValidation Static constructor to create a cookie. Will not perform any attribute validation during instantiation. - Cookie::isValid Method to check if cookie attributes are valid. ### Fixed - FilteredStream::getSize returns null because the contents size is unknown. - Stream factories does not rewinds streams. The previous behavior was not coherent between factories and inputs. ### Deprecated - FilteredStream::getReadFilter The read filter is internal and should never be used by consuming code. - FilteredStream::getWriteFilter We did not implement writing to the streams at all. And if we do, the filter is an internal information and should not be used by consuming code. ## [1.4.1] - 2016-12-16 ### Fixed - Cookie::matchPath Cookie with root path (`/`) will not match sub path (e.g. `/cookie`). ## [1.4.0] - 2016-10-20 ### Added - Message, stream and URI factories for [Slim Framework](https://github.com/slimphp/Slim) - BufferedStream that allow you to decorate a non-seekable stream with a seekable one. - cUrlFormatter to be able to redo the request with a cURL command ## [1.3.1] - 2016-07-15 ### Fixed - FullHttpMessageFormatter will not read from streams that you cannot rewind (non-seekable) - FullHttpMessageFormatter will not read from the stream if $maxBodyLength is zero - FullHttpMessageFormatter rewinds streams after they are read ## [1.3.0] - 2016-07-14 ### Added - FullHttpMessageFormatter to include headers and body in the formatted message ### Fixed - #41: Response builder broke header value ## [1.2.0] - 2016-03-29 ### Added - The RequestMatcher is built after the Symfony RequestMatcher and separates scheme, host and path expressions and provides an option to filter on the method - New RequestConditional authentication method using request matchers - Add automatic basic auth info detection based on the URL ### Changed - Improved ResponseBuilder ### Deprecated - RegexRequestMatcher, use RequestMatcher instead - Matching authenitcation method, use RequestConditional instead ## [1.1.0] - 2016-02-25 ### Added - Add a request matcher interface and regex implementation - Add a callback request matcher implementation - Add a ResponseBuilder, to create PSR7 Response from a string ### Fixed - Fix casting string on a FilteredStream not filtering the output ## [1.0.0] - 2016-01-27 ## [0.2.0] - 2015-12-29 ### Added - Autoregistration of stream filters using Composer autoload - Cookie - [Apigen](http://www.apigen.org/) configuration ## [0.1.2] - 2015-12-26 ### Added - Request and response factory bindings ### Fixed - Chunk filter namespace in Dechunk stream ## [0.1.1] - 2015-12-25 ### Added - Formatter ## 0.1.0 - 2015-12-24 ### Added - Authentication - Encoding - Message decorator - Message factory (Guzzle, Diactoros) [Unreleased]: https://github.com/php-http/message/compare/1.10.0...HEAD [1.10.0]: https://github.com/php-http/message/compare/1.9.1...1.10.0 [1.9.1]: https://github.com/php-http/message/compare/1.9.0...1.9.1 [1.9.0]: https://github.com/php-http/message/compare/1.8.0...1.9.0 [1.8.0]: https://github.com/php-http/message/compare/1.7.2...1.8.0 [1.7.2]: https://github.com/php-http/message/compare/v1.7.1...1.7.2 [1.7.1]: https://github.com/php-http/message/compare/1.7.0...v1.7.1 [1.7.0]: https://github.com/php-http/message/compare/1.6.0...1.7.0 [1.6.0]: https://github.com/php-http/message/compare/1.5.0...1.6.0 [1.5.0]: https://github.com/php-http/message/compare/v1.4.1...1.5.0 [1.4.1]: https://github.com/php-http/message/compare/v1.4.0...v1.4.1 [1.4.0]: https://github.com/php-http/message/compare/v1.3.1...v1.4.0 [1.3.1]: https://github.com/php-http/message/compare/v1.3.0...v1.3.1 [1.3.0]: https://github.com/php-http/message/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/php-http/message/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/php-http/message/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/php-http/message/compare/0.2.0...v1.0.0 [0.2.0]: https://github.com/php-http/message/compare/v0.1.2...0.2.0 [0.1.2]: https://github.com/php-http/message/compare/v0.1.1...v0.1.2 [0.1.1]: https://github.com/php-http/message/compare/v0.1.0...v0.1.1 PK"y[);index.blade.phpnu[PK"y[! create.blade.phpnu[PK6y[KW33!show.blade.phpnu[PK6D{[or:src/CookieUtil.phpnu[PK6D{[ }aZ@src/Authentication.phpnu[PK6D{[rdWzzNCsrc/CookieJar.phpnu[PK6D{[I Usrc/filters.phpnu[PK6D{[CbUsrc/Exception.phpnu[PK6D{[*Vsrc/Encoding/Filter/Chunk.phpnu[PK6D{[:TYsrc/Encoding/ChunkStream.phpnu[PK6D{[ʌAA>\src/Encoding/DeflateStream.phpnu[PK6D{[F!_src/Encoding/GzipDecodeStream.phpnu[PK6D{[ٍ dsrc/Encoding/InflateStream.phpnu[PK6D{[ VVgsrc/Encoding/FilteredStream.phpnu[PK6D{[?U~~~src/Encoding/error_lognu[PK6D{[cA!Psrc/Encoding/DecompressStream.phpnu[PK6D{[?#=!2src/Encoding/GzipEncodeStream.phpnu[PK6D{[,osrc/Encoding/CompressStream.phpnu[PK6D{[_NKsrc/Encoding/DechunkStream.phpnu[PK6D{[y*src/Exception/UnexpectedValueException.phpnu[PK6D{[OOsrc/Exception/error_lognu[PK6D{[x"3src/Decorator/RequestDecorator.phpnu[PK6D{[ؤ#6src/Decorator/ResponseDecorator.phpnu[PK6D{[k"+src/Decorator/MessageDecorator.phpnu[PK6D{[J!Jsrc/Decorator/StreamDecorator.phpnu[PK6D{[^;G"{{?src/Decorator/error_lognu[PK6D{[^Zxsrc/RequestMatcher.phpnu[PK6D{[++src/Cookie.phpnu[PK6D{[~P!src/Formatter/SimpleFormatter.phpnu[PK6D{[e>G  &1src/Formatter/CurlCommandFormatter.phpnu[PK6D{[ChHHsrc/Formatter/error_lognu[PK6D{[`Ri *0src/Formatter/FullHttpMessageFormatter.phpnu[PK6D{[8j$Hsrc/Authentication/AutoBasicAuth.phpnu[PK6D{[)@++'src/Authentication/Matching.phpnu[PK6D{[ׇT&src/Authentication/Bearer.phpnu[PK6D{[d)src/Authentication/Wsse.phpnu[PK6D{[(Am)0src/Authentication/RequestConditional.phpnu[PK6D{[JeZZ5src/Authentication/error_lognu[PK6D{[g||Msrc/Authentication/Header.phpnu[PK6D{[?BoPsrc/Authentication/Chain.phpnu[PK6D{[sNN!eUsrc/Authentication/QueryParam.phpnu[PK6D{[  Zsrc/Authentication/BasicAuth.phpnu[PK6D{[5v88%]src/RequestMatcher/RequestMatcher.phpnu[PK6D{[*kfsrc/RequestMatcher/RegexRequestMatcher.phpnu[PK6D{[Ymm-jsrc/RequestMatcher/CallbackRequestMatcher.phpnu[PK6D{[n#Ւcmsrc/RequestMatcher/error_lognu[PK6D{[)Avsrc/StreamFactory/GuzzleStreamFactory.phpnu[PK6D{[ݜ6,zsrc/StreamFactory/DiactorosStreamFactory.phpnu[PK6D{[n| | src/StreamFactory/error_lognu[PK6D{[ j?'Ǝsrc/StreamFactory/SlimStreamFactory.phpnu[PK6D{[<&&Փsrc/Stream/BufferedStream.phpnu[PK6D{[54VHsrc/Stream/error_lognu[PK6D{[/Q11@src/Builder/ResponseBuilder.phpnu[PK6D{[GOA+src/MessageFactory/GuzzleMessageFactory.phpnu[PK6D{[B5 src/MessageFactory/error_lognu[PK6D{[ Y)src/MessageFactory/SlimMessageFactory.phpnu[PK6D{[U\ ./src/MessageFactory/DiactorosMessageFactory.phpnu[PK6D{[jHHsrc/Formatter.phpnu[PK6D{[8#}src/UriFactory/GuzzleUriFactory.phpnu[PK6D{[#z!jsrc/UriFactory/SlimUriFactory.phpnu[PK6D{[& & src/UriFactory/error_lognu[PK6D{[Tʷ&:src/UriFactory/DiactorosUriFactory.phpnu[PK6D{[4X;;G.php-cs-fixer.dist.phpnu[PK6D{[ !00 README.mdnu[PK6D{[S::1 LICENSEnu[PK6D{[0n puli.jsonnu[PK6D{[w7~ "composer.jsonnu[PK6D{[Ȥ6FF )apigen.neonnu[PK6D{[G< <  *CHANGELOG.mdnu[PKEEJ