/** * @param RequestInterface $request * @throws \Exception */ protected function addSignatureHeader(RequestInterface $request) { if (null === $this->privateKey) { throw new \Exception('Please set your Private Key'); } if (true == property_exists($this->network, 'isPortRequiredInUrl')) { if ($this->network->isPortRequiredInUrl === true) { $url = $request->getUriWithPort(); } else { $url = $request->getUri(); } } else { $url = $request->getUri(); } $message = sprintf('%s%s', $url, $request->getBody()); $signature = $this->privateKey->sign($message); $request->setHeader('x-signature', $signature); }