Version 1
[yaffs-website] / web / core / modules / hal / src / HalServiceProvider.php
diff --git a/web/core/modules/hal/src/HalServiceProvider.php b/web/core/modules/hal/src/HalServiceProvider.php
new file mode 100644 (file)
index 0000000..d2b4028
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+
+namespace Drupal\hal;
+
+use Drupal\Core\DependencyInjection\ContainerBuilder;
+use Drupal\Core\DependencyInjection\ServiceModifierInterface;
+
+/**
+ * Adds hal+json as known format.
+ */
+class HalServiceProvider implements ServiceModifierInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function alter(ContainerBuilder $container) {
+    if ($container->has('http_middleware.negotiation') && is_a($container->getDefinition('http_middleware.negotiation')->getClass(), '\Drupal\Core\StackMiddleware\NegotiationMiddleware', TRUE)) {
+      $container->getDefinition('http_middleware.negotiation')->addMethodCall('registerFormat', ['hal_json', ['application/hal+json']]);
+    }
+  }
+
+}