Just throw an exception:
throw new BadRequestException('Missing important headers');
On Monday, September 15, 2014 2:02:50 AM UTC+2, Geoffrey Toogood wrote:
>
> Hey There,
>
> So I am building an API with the built in REST functionality in CakePHP
> but I am having a problem with it.
>
> I am trying to halt a REST request after it has already been primed by the
> default mapResources route feature? In the app/Config/routes.php I have
> the following route for my customers controller / model..
>
> Router::mapResources('customers');
>
> I want to add some code to the beforeFilter() of the AppController which,
> under certain conditions, should stop the current REST request and print a
> different response.
>
> Say I do a GET request to the customers controller...
>
> http://localhost/cakephp/customers.json
>
> This returns what I would expect, my customers list in JSON format.
>
> However I want certain HTTP_X_ headers to be present in the request before
> I allow it to complete so I have tried using the set method to create the
> response I want and tried to send() the response like so..
>
> $this->set(array(
> 'status' => false,
> 'message' => 'Some error message',
> 'errors' => array('this went wrong', 'that went wrong'),
> '_serialize' => array('status', 'message', 'errors')
> ));
>
> $this->response->send();
> $this->_stop();
>
> In this instance what occurs is that the customers.json response
> completes. I want to halt the request at this point and return my error
> response.
>
> Does anyone know a good way to do this?
>
> Thanks,
> Geoff T
>
--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.