/** * Validate syntax. * * @access protected * @param string $procedure * @return void * @throws \JonnyW\PhantomJs\Exception\SyntaxException */ protected function validateSyntax($procedure) { $input = new Input(); $output = new Output(); $input->set('procedure', $procedure); $input->set('engine', $this->engine->toString()); $validator = $this->procedureLoader->load('validator'); $validator->run($input, $output); $errors = $output->get('errors'); if (!empty($errors)) { throw new SyntaxException('Your procedure failed to compile due to a javascript syntax error', (array) $errors); } }
/** * Send request * * @access public * @param \JonnyW\PhantomJs\Http\RequestInterface $request * @param \JonnyW\PhantomJs\Http\ResponseInterface $response * @return \JonnyW\PhantomJs\Http\ResponseInterface */ public function send(RequestInterface $request, ResponseInterface $response) { $procedure = $this->procedureLoader->load($this->procedure); $this->procedureCompiler->compile($procedure, $request); $procedure->run($request, $response); return $response; }
/** * Send request * * @access public * @param \JonnyW\PhantomJs\Message\RequestInterface $request * @param \JonnyW\PhantomJs\Message\ResponseInterface $response * @return \JonnyW\PhantomJs\Message\ResponseInterface */ public function send(RequestInterface $request, ResponseInterface $response) { $this->clearLog(); $procedure = $this->procedureLoader->load($request->getType()); $procedure->run($this, $request, $response); return $response; }