/** * Prepares the content. * * @param \Ivory\HttpAdapter\Message\InternalRequestInterface $internalRequest The internal request. * * @return array|string The prepared content. */ protected function prepareContent(InternalRequestInterface $internalRequest) { if (!$internalRequest->hasFiles()) { return $this->prepareBody($internalRequest); } $content = array(); foreach ($internalRequest->getDatas() as $name => $data) { $content = array_merge($content, $this->prepareRawContent($name, $data)); } foreach ($internalRequest->getFiles() as $name => $file) { $content = array_merge($content, $this->prepareRawContent($name, $file, true)); } return $content; }
/** * Prepares the body. * * @param \Ivory\HttpAdapter\Message\InternalRequestInterface $internalRequest The internal request. * * @return string The prepared body. */ protected function prepareBody(InternalRequestInterface $internalRequest) { if ($internalRequest->hasRawDatas()) { return $internalRequest->getRawDatas(); } if (!$internalRequest->hasFiles()) { return http_build_query($internalRequest->getDatas(), null, '&'); } $body = ''; foreach ($internalRequest->getDatas() as $name => $value) { $body .= $this->prepareRawBody($name, $value); } foreach ($internalRequest->getFiles() as $name => $file) { $body .= $this->prepareRawBody($name, $file, true); } $body .= '--' . $this->configuration->getBoundary() . '--' . "\r\n"; return $body; }