hal.api.php

Same filename in other branches
  1. 8.9.x core/modules/hal/hal.api.php

Describes hooks provided by the HAL module.

File

core/modules/hal/hal.api.php

View source
<?php


/**
 * @file
 * Describes hooks provided by the HAL module.
 */

/**
 * @addtogroup hooks
 * @{
 */

/**
 * Alter the HAL type URI.
 *
 * 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_hal_type_uri_alter(&$uri, $context = []) {
    if ($context['mymodule'] == TRUE) {
        $base = \Drupal::config('hal.settings')->get('link_domain');
        $uri = str_replace($base, 'http://mymodule.domain', $uri);
    }
}

/**
 * Alter the HAL relation URI.
 *
 * 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_hal_relation_uri_alter(&$uri, $context = []) {
    if ($context['mymodule'] == TRUE) {
        $base = \Drupal::config('hal.settings')->get('link_domain');
        $uri = str_replace($base, 'http://mymodule.domain', $uri);
    }
}

/**
 * @} End of "addtogroup hooks".
 */

Functions

Title Deprecated Summary
hook_hal_relation_uri_alter Alter the HAL relation URI.
hook_hal_type_uri_alter Alter the HAL type URI.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.