/** * {@inheritdoc} */ public function sendRequests(array $requests) { $exceptions = array(); foreach ($requests as $index => &$request) { if (is_string($request)) { $request = array($request); } if (is_array($request)) { $request = call_user_func_array(array($this->configuration->getMessageFactory(), 'createInternalRequest'), $request); } if (!$request instanceof OutgoingRequestInterface) { $exceptions[] = HttpAdapterException::requestIsNotValid($request); unset($requests[$index]); } elseif (!$request instanceof InternalRequestInterface) { $request = $this->configuration->getMessageFactory()->createInternalRequest($request->getUrl(), $request->getMethod(), $request->getProtocolVersion(), $request->getHeaders(), (string) $request->getBody()); } } try { $responses = $this->sendInternalRequests($requests); } catch (MultiHttpAdapterException $e) { $exceptions = array_merge($exceptions, $e->getExceptions()); $responses = $e->getResponses(); } if (!empty($exceptions)) { throw new MultiHttpAdapterException($exceptions, $responses); } return $responses; }