/** * @param ConfigurationInterface $configuration * @param PayURequestInterface $request * * @return Request */ public function build(ConfigurationInterface $configuration, PayURequestInterface $request) { $curlRequest = new Request(); if (PayURequestInterface::METHOD_POST === $request->getMethod()) { $curlRequest->setContent($this->serializer->toJson($request->getDataObject())); } $curlRequest->setHost(sprintf('%s://%s/', $configuration->getProtocol(), $configuration->getDomain())); $curlRequest->setResource(sprintf('%s/%s/%s', $configuration->getPath(), $configuration->getVersion(), $request->getPath())); $curlRequest->setMethod($request->getMethod()); $this->addHeaders($curlRequest, $configuration); return $curlRequest; }