[eluser]sulli[/eluser]
For the controller, I'm using Phil's example.php code (just trying to get it to work):
Code: <?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Example
*
* This is an example of a few basic user interaction methods you could use
* all done with a hardcoded array.
*
* @package CodeIgniter
* @subpackage Rest Server
* @category Controller
* @author Phil Sturgeon
* @link http://philsturgeon.co.uk/code/
*/
// This can be removed if you use __autoload() in config.php OR use Modular Extensions
require (APPPATH.'/libraries/REST_Controller.php');
class Example extends REST_Controller
{
function user_get()
{
if(!$this->get('id'))
{
$this->response(NULL, 400);
}
// $user = $this->some_model->getSomething( $this->get('id') );
$users = array(
1 => array('id' => 1, 'name' => 'Some Guy', 'email' => '[email protected]', 'fact' => 'Loves swimming'),
2 => array('id' => 2, 'name' => 'Person Face', 'email' => '[email protected]', 'fact' => 'Has a huge face'),
3 => array('id' => 3, 'name' => 'Scotty', 'email' => '[email protected]', 'fact' => 'Is a Scott!', array('hobbies' => array('fartings', 'bikes'))),
);
$user = @$users[$this->get('id')];
if($user)
{
$this->response($user, 200); // 200 being the HTTP response code
}
else
{
$this->response(array('error' => 'User could not be found'), 404);
}
}
function user_post()
{
//$this->some_model->updateUser( $this->get('id') );
$message = array('id' => $this->get('id'), 'name' => $this->post('name'), 'email' => $this->post('email'), 'message' => 'ADDED!');
$this->response($message, 200); // 200 being the HTTP response code
}
function user_delete()
{
//$this->some_model->deletesomething( $this->get('id') );
$message = array('id' => $this->get('id'), 'message' => 'DELETED!');
$this->response($message, 200); // 200 being the HTTP response code
}
function users_get()
{
//$users = $this->some_model->getSomething( $this->get('limit') );
$users = array(
array('id' => 1, 'name' => 'Some Guy', 'email' => '[email protected]'),
array('id' => 2, 'name' => 'Person Face', 'email' => '[email protected]'),
3 => array('id' => 3, 'name' => 'Scotty', 'email' => '[email protected]', 'fact' => array('hobbies' => array('fartings', 'bikes'))),
);
if($users)
{
$this->response($users, 200); // 200 being the HTTP response code
}
else
{
$this->response(array('error' => 'Couldn\'t find any users!'), 404);
}
}
public function send_post()
{
var_dump($this->request->body);
}
public function send_put()
{
var_dump($this->put('foo'));
}
}
?>
The header response that I get via the Firefox RESTClient is:
Code: Status Code: 404 Not Found
Connection: close
Content-Length: 99
Content-Type: application/xml
Date: Thu, 28 Jun 2012 02:07:51 GMT
MS-Author-Via: DAV
Server: Apache
Set-Cookie: ci_session=a:5:{s:10:"session_id";s:32:"fa59f7253449fd658cf7e1cef3743a64";s:10:"ip_addre ss";s:14:"67.171.202.197";s:10:"user_agent";s:83:"Mozilla/5.0+(Macintosh;+Intel+Mac+ OS+X+10.5;+rv:13.0)+Gecko/20100101+Firefox/13.0.1";s:13:"last_activity";i:1340849271;s:9:"user_data";s:0:"";}f74eb34e94f34b94d1761a105ec04c4b; expires=Thu, 28-Jun-2012 04:07:51 GMT; path=/
X-Powered-By: PleskLin
status: 404
|