public function options() { //Handle options request $this->getSlim()->response->headers->set('Allow', 'POST,PUT,GET,DELETE'); Resource::response(Resource::STATUS_OK); }
$app->put('/:resource(/(:action)(/))', function ($resource, $subResource = null) use($app) { $resource = Resource::load($app->version, $resource, $subResource); if ($resource === null) { Resource::error(Resource::STATUS_NOT_FOUND, 'Cannot find requested resource.'); } else { $resource->put(); } }); // Delete $app->delete('/:resource(/(:action)(/))', function ($resource, $subResource = null) use($app) { $resource = Resource::load($app->version, $resource, $subResource); if ($resource === null) { Resource::error(Resource::STATUS_NOT_FOUND, 'Cannot find requested resource.'); } else { $resource->delete(); } }); // Options $app->options('/:resource(/(:action)(/))', function ($resource, $subResource = null) use($app) { $resource = Resource::load($app->version, $resource, $subResource); if ($resource === null) { Resource::error(Resource::STATUS_NOT_FOUND, 'Cannot find requested resource.'); } else { $resource->options(); } }); // Not found $app->notFound(function () { Resource::error(Resource::STATUS_NOT_FOUND, 'Cannot find requested resource.'); }); $app->run();