From bd5a8402e69d0a28c70886f40e316b5222d53fba Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Sun, 30 Sep 2018 23:08:16 +0200 Subject: [PATCH] app/controllers/CallbackController.php: move endpointAction() to ApiController. --- app/config/routes.yml | 2 +- app/controllers/ApiController.php | 52 ++++++++++++++++++++++++++ app/controllers/CallbackController.php | 48 +----------------------- 3 files changed, 54 insertions(+), 48 deletions(-) create mode 100644 app/controllers/ApiController.php diff --git a/app/config/routes.yml b/app/config/routes.yml index 4c36381..262f320 100644 --- a/app/config/routes.yml +++ b/app/config/routes.yml @@ -20,7 +20,7 @@ router: cb-endpoint: pattern: '/cb/{id}/:params' path: - controller: callback + controller: api action: endpoint login: pattern: '/login' diff --git a/app/controllers/ApiController.php b/app/controllers/ApiController.php new file mode 100644 index 0000000..b33b480 --- /dev/null +++ b/app/controllers/ApiController.php @@ -0,0 +1,52 @@ +view->disable(); + + $allowed_methods = array('GET', 'POST'); + if ($this->request->isMethod($allowed_methods)) { + + $callback = CallbackModel::get($id); + + $request = new RequestModel(); + + $request->setHeaders($this->request->getHeaders()); + $request->setBody($this->request->getRawBody()); + + $dt = new \DateTime(); + + $callback->setLastRequest($dt->format('Y-m-d H:i:s')); + + $meta = new RequestMetaModel(); + $meta->Callback = $callback; + $meta->RequestObject = $request; + + $meta->setSourceIp($this->request->getClientAddress()); + $meta->setMethod($this->request->isPost() ? 'POST' : 'GET'); + $meta->setUri($this->request->getServer('REQUEST_URI')); + + $result = $meta->save(); + if ($result == false) { + var_dump($meta->getMessages()); + } + } + } +} diff --git a/app/controllers/CallbackController.php b/app/controllers/CallbackController.php index d36e597..64354d1 100644 --- a/app/controllers/CallbackController.php +++ b/app/controllers/CallbackController.php @@ -4,9 +4,7 @@ namespace App\Controller; use App\Controller\ControllerBase, App\Form\CallbackCreate as CreateCallbackForm, - App\Model\Data\Callback as CallbackModel, - App\Model\Data\Request as RequestModel, - App\Model\Data\RequestMeta as RequestMetaModel; + App\Model\Data\Callback as CallbackModel; class CallbackController extends ControllerBase { @@ -116,48 +114,4 @@ class CallbackController extends ControllerBase $this->view->page = $paginator->getPaginate(); $this->view->pagination_url = '/callback/show/' . $id . '/'; } - - /** - * This is the action that the API to be - * tested should make it's callback to. So we can catch it. - * - * @Acl(resource="api") - * @param int $id The test session id so - * we know what test it belongs to. - * @return string - */ - public function endpointAction($id) - { - $this->view->disable(); - - $allowed_methods = array('GET', 'POST'); - if ($this->request->isMethod($allowed_methods)) { - - $callback = CallbackModel::get($id); - - $request = new RequestModel(); - - $request->setHeaders($this->request->getHeaders()); - $request->setBody($this->request->getRawBody()); - - $dt = new \DateTime(); - - $callback->setLastRequest($dt->format('Y-m-d H:i:s')); - - $meta = new RequestMetaModel(); - $meta->Callback = $callback; - $meta->RequestObject = $request; - - $meta->setSourceIp($this->request->getClientAddress()); - $meta->setMethod($this->request->isPost() ? 'POST' : 'GET'); - $meta->setUri($this->request->getServer('REQUEST_URI')); - - $result = $meta->save(); - if ($result == false) { - var_dump($meta->getMessages()); - } - } - - - } }