You are here

public function KmlServiceProvider::alter in KML 8

Modifies existing service definitions.

Parameters

ContainerBuilder $container: The ContainerBuilder whose service definitions can be altered.

Overrides ServiceModifierInterface::alter

File

src/KmlServiceProvider.php, line 16

Class

KmlServiceProvider
Adds kml+xml and kmz as known formats.

Namespace

Drupal\kml

Code

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', [
      'kml',
      [
        'application/vnd.google-earth.kml+xml',
      ],
    ]);
    $container
      ->getDefinition('http_middleware.negotiation')
      ->addMethodCall('registerFormat', [
      'kmz',
      [
        'application/vnd.google-earth.kmz',
      ],
    ]);
  }
}