Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 10 |
DBLogResource | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 10 |
get | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 10 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\dblog\Plugin\rest\resource\DBLogResource. | |
*/ | |
namespace Drupal\dblog\Plugin\rest\resource; | |
use Drupal\rest\Plugin\ResourceBase; | |
use Drupal\rest\ResourceResponse; | |
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; | |
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; | |
/** | |
* Provides a resource for database watchdog log entries. | |
* | |
* @RestResource( | |
* id = "dblog", | |
* label = @Translation("Watchdog database log"), | |
* uri_paths = { | |
* "canonical" = "/dblog/{id}" | |
* } | |
* ) | |
*/ | |
class DBLogResource extends ResourceBase { | |
/** | |
* Responds to GET requests. | |
* | |
* Returns a watchdog log entry for the specified ID. | |
* | |
* @param int $id | |
* The ID of the watchdog log entry. | |
* | |
* @return \Drupal\rest\ResourceResponse | |
* The response containing the log entry. | |
* | |
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException | |
* Thrown when the log entry was not found. | |
* @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException | |
* Thrown when no log entry was provided. | |
*/ | |
public function get($id = NULL) { | |
if ($id) { | |
$record = db_query("SELECT * FROM {watchdog} WHERE wid = :wid", array(':wid' => $id)) | |
->fetchAssoc(); | |
if (!empty($record)) { | |
return new ResourceResponse($record); | |
} | |
throw new NotFoundHttpException(t('Log entry with ID @id was not found', array('@id' => $id))); | |
} | |
throw new BadRequestHttpException(t('No log entry ID was provided')); | |
} | |
} |