Skip to content
Snippets Groups Projects
Commit f57369f4 authored by Martin Anderson-Clutz's avatar Martin Anderson-Clutz
Browse files

Issue #3418769 by ericgsmith: AJAX calls break on Drupal 10.2 when using...

Issue #3418769 by ericgsmith: AJAX calls break on Drupal 10.2 when using restore client ip + redirect module
parent 6f07600a
No related branches found
No related tags found
No related merge requests found
Pipeline #146995 canceled
......@@ -26,5 +26,5 @@ services:
class: Drupal\cloudflare\CloudFlareMiddleware
arguments: ['@config.factory', '@cache.data', '@http_client', '@logger.channel.cloudflare']
tags:
# Same priority as reverse proxy middleware (http_middleware.reverse_proxy).
- { name: http_middleware, priority: 300 }
# Must run before http_middleware.ajax_page_state
- { name: http_middleware, priority: 600 }
<?php
namespace Drupal\Tests\cloudflare\Functional;
use Drupal\Component\Utility\UrlHelper;
use Drupal\Tests\BrowserTestBase;
use Symfony\Component\HttpFoundation\Request;
/**
* Ensure middleware does not introduce a side effect
*
* @group cloudflare
*/
#[\AllowDynamicProperties]
class OverrideGlobalsTest extends BrowserTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = ['cloudflare'];
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
$this->container->get('config.factory')->getEditable('cloudflare.settings')
->set('client_ip_restore_enabled', TRUE)
->set('remote_addr_validate', FALSE)
->save();
}
/**
* Test that the ajax page state is not corrupted.
*/
public function testOverrides() {
$http_kernel = $this->container->get('http_kernel');
$request = Request::create('/');
$request->server->set('HTTP_CF_CONNECTING_IP', '1.1.1.1');
// Pass the AJAX page state to the request.
$compressed_libraries = UrlHelper::compressQueryParameter('foo/bar,bar/zip');
$request->query->set('ajax_page_state', ['libraries' => $compressed_libraries]);
$http_kernel->handle($request);
$expected = http_build_query(['ajax_page_state' => ['libraries' => $compressed_libraries]]);
$this->assertEquals($expected, $request->server->get('QUERY_STRING'));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment