| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | <?php/** * @file * Describes hooks provided by the RESTful Web Services module. *//** * @addtogroup hooks * @{ *//** * Alter the resource plugin definitions. * * @param array $definitions *   The collection of resource definitions. */function hook_rest_resource_alter(&$definitions) {  if (isset($definitions['entity:node'])) {    // We want to handle REST requests regarding nodes with our own plugin    // class.    $definitions['entity:node']['class'] = 'Drupal\mymodule\Plugin\rest\resource\NodeResource';    // Serialized nodes should be expanded to my specific node class.    $definitions['entity:node']['serialization_class'] = 'Drupal\mymodule\Entity\MyNode';  }  // We don't want Views to show up in the array of plugins at all.  unset($definitions['entity:view']);}/** * Alter the REST type URI. * * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.0. Use *   hook_serialization_type_uri_alter() instead. This exists solely for BC. * * @see https://www.drupal.org/node/2830467 * * Modules may wish to alter the type URI generated for a resource based on the * context of the serializer/normalizer operation. * * @param string $uri *   The URI to alter. * @param array $context *   The context from the serializer/normalizer operation. * * @see \Symfony\Component\Serializer\SerializerInterface::serialize() * @see \Symfony\Component\Serializer\SerializerInterface::deserialize() * @see \Symfony\Component\Serializer\NormalizerInterface::normalize() * @see \Symfony\Component\Serializer\DenormalizerInterface::denormalize() */function hook_rest_type_uri_alter(&$uri, $context = []) {  if ($context['mymodule'] == TRUE) {    $base = \Drupal::config('serialization.settings')->get('link_domain');    $uri = str_replace($base, 'http://mymodule.domain', $uri);  }}/** * Alter the REST relation URI. * * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.0. Use *   hook_serialization_relation_uri_alter() instead. This exists solely for BC. * * @see https://www.drupal.org/node/2830467 * * Modules may wish to alter the relation URI generated for a resource based on * the context of the serializer/normalizer operation. * * @param string $uri *   The URI to alter. * @param array $context *   The context from the serializer/normalizer operation. * * @see \Symfony\Component\Serializer\SerializerInterface::serialize() * @see \Symfony\Component\Serializer\SerializerInterface::deserialize() * @see \Symfony\Component\Serializer\NormalizerInterface::normalize() * @see \Symfony\Component\Serializer\DenormalizerInterface::denormalize() */function hook_rest_relation_uri_alter(&$uri, $context = []) {  if ($context['mymodule'] == TRUE) {    $base = \Drupal::config('serialization.settings')->get('link_domain');    $uri = str_replace($base, 'http://mymodule.domain', $uri);  }}/** * @} End of "addtogroup hooks". */
 |