nextHandler = $nextHandler; $this->headers = $headers; $this->overrideUserHeaders = $overrideUserHeaders; } public function __invoke(Call $call, array $options) { $userHeaders = $options['headers'] ?? []; if ($this->overrideUserHeaders) { $options['headers'] = $this->headers + $userHeaders; } else { $options['headers'] = $userHeaders + $this->headers; } $next = $this->nextHandler; return $next( $call, $options ); } }