Skip to content

Commit

Permalink
Update priority of built-in middleware
Browse files Browse the repository at this point in the history
With the default priority, middlewares for logging and profiler don't see the eventual query changes performed by userland middlewares (that have by default a priority of 0)
  • Loading branch information
l-vo committed Feb 18, 2024
1 parent 4927253 commit 4158a7b
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
4 changes: 2 additions & 2 deletions DependencyInjection/DoctrineExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -1187,14 +1187,14 @@ private function registerDbalMiddlewares(

$loggingMiddlewareAbstractDef = $container->getDefinition('doctrine.dbal.logging_middleware');
foreach ($connWithLogging as $connName) {
$loggingMiddlewareAbstractDef->addTag('doctrine.middleware', ['connection' => $connName]);
$loggingMiddlewareAbstractDef->addTag('doctrine.middleware', ['connection' => $connName, 'priority' => 100]);
}

$container->getDefinition('doctrine.debug_data_holder')->replaceArgument(0, $connWithBacktrace);
$debugMiddlewareAbstractDef = $container->getDefinition('doctrine.dbal.debug_middleware');
foreach ($connWithProfiling as $connName) {
$debugMiddlewareAbstractDef
->addTag('doctrine.middleware', ['connection' => $connName]);
->addTag('doctrine.middleware', ['connection' => $connName, 'priority' => 100]);
}
}
}
18 changes: 9 additions & 9 deletions Tests/DependencyInjection/DoctrineExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -1321,9 +1321,9 @@ public function testRegistrationsWithMiddlewaresAndSfDebugMiddleware(): void
$loggingMiddlewareTagAttributes = $attributes;
}

$this->assertTrue(in_array(['connection' => 'conn1'], $loggingMiddlewareTagAttributes, true));
$this->assertFalse(in_array(['connection' => 'conn2'], $loggingMiddlewareTagAttributes, true));
$this->assertFalse(in_array(['connection' => 'conn3'], $loggingMiddlewareTagAttributes, true));
$this->assertTrue(in_array(['connection' => 'conn1', 'priority' => 100], $loggingMiddlewareTagAttributes, true));
$this->assertFalse(in_array(['connection' => 'conn2', 'priority' => 100], $loggingMiddlewareTagAttributes, true));
$this->assertFalse(in_array(['connection' => 'conn3', 'priority' => 100], $loggingMiddlewareTagAttributes, true));

$this->assertTrue($container->hasDefinition('doctrine.dbal.debug_middleware'));
$this->assertTrue($container->hasDefinition('doctrine.debug_data_holder'));
Expand All @@ -1338,9 +1338,9 @@ public function testRegistrationsWithMiddlewaresAndSfDebugMiddleware(): void
$debugMiddlewareTagAttributes = $attributes;
}

$this->assertFalse(in_array(['connection' => 'conn1'], $debugMiddlewareTagAttributes, true));
$this->assertTrue(in_array(['connection' => 'conn2'], $debugMiddlewareTagAttributes, true));
$this->assertTrue(in_array(['connection' => 'conn3'], $debugMiddlewareTagAttributes, true));
$this->assertFalse(in_array(['connection' => 'conn1', 'priority' => 100], $debugMiddlewareTagAttributes, true));
$this->assertTrue(in_array(['connection' => 'conn2', 'priority' => 100], $debugMiddlewareTagAttributes, true));
$this->assertTrue(in_array(['connection' => 'conn3', 'priority' => 100], $debugMiddlewareTagAttributes, true));

$arguments = $container->getDefinition('doctrine.debug_data_holder')->getArguments();
$this->assertCount(1, $arguments);
Expand Down Expand Up @@ -1383,7 +1383,7 @@ public function testDefinitionsToLogAndProfile(): void
$loggingMiddlewareTagAttributes = $attributes;
}

$this->assertTrue(in_array(['connection' => 'conn1'], $loggingMiddlewareTagAttributes, true), 'Tag with connection conn1 not found for doctrine.dbal.logging_middleware');
$this->assertTrue(in_array(['connection' => 'conn1', 'priority' => 100], $loggingMiddlewareTagAttributes, true), 'Tag with connection conn1 not found for doctrine.dbal.logging_middleware');
$this->assertFalse(in_array(['connection' => 'conn2'], $loggingMiddlewareTagAttributes, true), 'Tag with connection conn2 found for doctrine.dbal.logging_middleware');

$abstractMiddlewareDefTags = $container->getDefinition('doctrine.dbal.debug_middleware')->getTags();
Expand All @@ -1396,8 +1396,8 @@ public function testDefinitionsToLogAndProfile(): void
$debugMiddlewareTagAttributes = $attributes;
}

$this->assertFalse(in_array(['connection' => 'conn1'], $debugMiddlewareTagAttributes, true), 'Tag with connection conn1 found for doctrine.dbal.debug_middleware');
$this->assertTrue(in_array(['connection' => 'conn2'], $debugMiddlewareTagAttributes, true), 'Tag with connection conn2 not found for doctrine.dbal.debug_middleware');
$this->assertFalse(in_array(['connection' => 'conn1', 'priority' => 100], $debugMiddlewareTagAttributes, true), 'Tag with connection conn1 found for doctrine.dbal.debug_middleware');
$this->assertTrue(in_array(['connection' => 'conn2', 'priority' => 100], $debugMiddlewareTagAttributes, true), 'Tag with connection conn2 not found for doctrine.dbal.debug_middleware');
}

public function testDefinitionsToLogQueriesLoggingFalse(): void
Expand Down

0 comments on commit 4158a7b

Please sign in to comment.