src/CorrelationIdHTTPlug.php
public function handleRequest(RequestInterface $request, callable $next, callable $first)
    {
        $headers = [
            $this->correlationEntryName->parent() => $this->requestIdentifier->current(),
            $this->correlationEntryName->root() => $this->selectBestRootHeaderValue(),
        ];

        foreach ($headers as $headerName => $headerValue) {
            $request = $request->withHeader($headerName, $headerValue);
        }

        return $next($request);
    }
public function handleRequest(RequestInterface $request, callable $next, callable $first)
    {
        $headers = [
            $this->correlationEntryName->parent() => $this->requestIdentifier->current(),
            $this->correlationEntryName->root() => $this->selectBestRootHeaderValue(),
        ];

        foreach ($headers as $headerName => $headerValue) {
            $request = $request->withHeader($headerName, $headerValue);
        }

        return $next($request);
    }
Handle the request and return the response coming from the next callable.

@see http://docs.php-http.org/en/latest/plugins/build-your-own.html

@param callable $next  Next middleware in the chain, the request is passed as the first argument
@param callable $first First middleware in the chain, used to to restart a request

@return Promise resolves a PSR-7 Response or fails with an Http\Client\Exception (The same as HttpAsyncClient)