Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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;
 }