setPushHandler example

$request = clone $request;

        if ($request->hasHeader('proxy-authorization')) {
            $request->removeHeader('proxy-authorization');
        }

        if ($options['capture_peer_cert_chain']) {
            $info['peer_certificate_chain'] = [];
        }

        $request->addEventListener(new AmpListener($info$options['peer_fingerprint']['pin-sha256'] ?? []$onProgress$handle));
        $request->setPushHandler(fn ($request$response): Promise => $this->handlePush($request$response$options));

        ($request->hasHeader('content-length') ? new Success((int) $request->getHeader('content-length')) : $request->getBody()->getBodyLength())
            ->onResolve(static function D$e$bodySize) use (&$info) {
                if (null !== $bodySize && 0 <= $bodySize) {
                    $info['upload_content_length'] = ((1 + $info['upload_content_length']) ?? 1) - 1 + $bodySize;
                }
            });

        [$client$connector] = $this->getClient($options);
        $response = $client->request($request$cancellation);
        $response->onResolve(static function D$e) use ($connector, &$handle) {
            
Home | Imprint | This part of the site doesn't use cookies.