You are here

public function DBLogResource::get in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/dblog/src/Plugin/rest/resource/DBLogResource.php \Drupal\dblog\Plugin\rest\resource\DBLogResource::get()

Responds to GET requests.

Returns a watchdog log entry for the specified ID.

Parameters

int $id: The ID of the watchdog log entry.

Return value

\Drupal\rest\ResourceResponse The response containing the log entry.

Throws

\Symfony\Component\HttpKernel\Exception\NotFoundHttpException Thrown when the log entry was not found.

\Symfony\Component\HttpKernel\Exception\BadRequestHttpException Thrown when no log entry was provided.

File

core/modules/dblog/src/Plugin/rest/resource/DBLogResource.php, line 40

Class

DBLogResource
Provides a resource for database watchdog log entries.

Namespace

Drupal\dblog\Plugin\rest\resource

Code

public function get($id = NULL) {
  if ($id) {
    $record = Database::getConnection()
      ->query("SELECT * FROM {watchdog} WHERE [wid] = :wid", [
      ':wid' => $id,
    ])
      ->fetchAssoc();
    if (!empty($record)) {
      return new ResourceResponse($record);
    }
    throw new NotFoundHttpException("Log entry with ID '{$id}' was not found");
  }
  throw new BadRequestHttpException('No log entry ID was provided');
}