/** * Ques a request for handling in the client. * * @see \BLW\Type\HTTP\IClient::run() IClient::run() * @see \BLW\Type\HTTP\IClient::sendAll() IClient::sendAll() * @see \BLW\Type\HTTP\IClient::download() IClient::downoad() * * @throws \BLW\Model\InvalidArgumentException If <code>$Request</code> is not valid. * * @param \BLW\Type\HTTP\IRequest $Request * Request to que. * @return boolean <code>TRUE</code> if successful. <code>FALSE</code> if unsuccessful or if the request is already qued. */ public function send(IRequest $Request) { // Does Client contain request? if ($this->contains($Request)) { return false; } // Is request $Valid? Add to que. if (!$this->validateRequest($Request)) { throw new InvalidArgumentException(0); } // Create Response $Response = new Response('HTTP', '1.0', 0); $Response['Running'] = false; $Response['Finished'] = false; $Response->setRequestURI($Request->getURI()); // Add to que $this->attach($Request, $Response); // Done return true; }
/** * Reschedules a request for processing. * * @ignore * @param \BLW\Type\HTTP\IRequest $Request */ private function _reschedule(IRequest $Request) { $Response = new Response('HTTP', '1.0', 0); $Response['Running'] = false; $Response['Finished'] = false; $Response->setRequestURI($Request->getURI()); $this[$Request] = $Response; }