diff --git a/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php b/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php
index d77eb279f4a69..02449f601ef11 100644
--- a/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php
+++ b/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php
@@ -86,11 +86,11 @@ private function getTraces(RequestDataCollector $request, $method)
{
$traceRequest = Request::create(
$request->getPathInfo(),
- $request->getRequestServer()->get('REQUEST_METHOD'),
- $request->getRequestAttributes()->all(),
- $request->getRequestCookies()->all(),
+ $request->getRequestServer(true)->get('REQUEST_METHOD'),
+ $request->getRequestAttributes(true)->all(),
+ $request->getRequestCookies(true)->all(),
array(),
- $request->getRequestServer()->all()
+ $request->getRequestServer(true)->all()
);
$context = $this->matcher->getContext();
diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig
index 277a046789e48..cdf2839c6dcd2 100644
--- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig
+++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig
@@ -154,7 +154,7 @@
{% endif %}
Request Headers
- {{ include('@WebProfiler/Profiler/bag.html.twig', { bag: collector.requestheaders, labels: ['Header', 'Value'] }, with_context = false) }}
+ {{ include('@WebProfiler/Profiler/bag.html.twig', { bag: collector.requestheaders, labels: ['Header', 'Value'], maxDepth: 1 }, with_context = false) }}
Request Content
@@ -183,7 +183,7 @@
Response Headers
- {{ include('@WebProfiler/Profiler/bag.html.twig', { bag: collector.responseheaders, labels: ['Header', 'Value'] }, with_context = false) }}
+ {{ include('@WebProfiler/Profiler/bag.html.twig', { bag: collector.responseheaders, labels: ['Header', 'Value'], maxDepth: 1 }, with_context = false) }}
diff --git a/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
index 1f8538a9f2522..7bca1ddfe199f 100644
--- a/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
+++ b/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
@@ -130,7 +130,7 @@ private function decorateVar($var)
return new ClassStub($var);
}
}
- if (false !== strpos($var, DIRECTORY_SEPARATOR) && false === strpos($var, '://') && file_exists($var)) {
+ if (false !== strpos($var, DIRECTORY_SEPARATOR) && false === strpos($var, '://') && false === strpos($var, "\0") && is_file($var)) {
return new LinkStub($var);
}
}
diff --git a/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php
index f0c18c51e51e7..6e8623a700240 100644
--- a/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php
+++ b/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php
@@ -12,10 +12,8 @@
namespace Symfony\Component\HttpKernel\DataCollector;
use Symfony\Component\HttpFoundation\ParameterBag;
-use Symfony\Component\HttpFoundation\HeaderBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\ResponseHeaderBag;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
@@ -54,14 +52,11 @@ public function collect(Request $request, Response $response, \Exception $except
$attributes = array();
$route = '';
foreach ($request->attributes->all() as $key => $value) {
- if ('_route' === $key && is_object($value)) {
- $attributes[$key] = $this->cloneVar($value->getPath());
- } else {
- $attributes[$key] = $this->cloneVar($value);
- }
-
if ('_route' === $key) {
$route = is_object($value) ? $value->getPath() : $value;
+ $attributes[$key] = $route;
+ } else {
+ $attributes[$key] = $value;
}
}
@@ -97,8 +92,8 @@ public function collect(Request $request, Response $response, \Exception $except
'content_type' => $response->headers->get('Content-Type', 'text/html'),
'status_text' => isset(Response::$statusTexts[$statusCode]) ? Response::$statusTexts[$statusCode] : '',
'status_code' => $statusCode,
- 'request_query' => array_map(array($this, 'cloneVar'), $request->query->all()),
- 'request_request' => array_map(array($this, 'cloneVar'), $request->request->all()),
+ 'request_query' => $request->query->all(),
+ 'request_request' => $request->request->all(),
'request_headers' => $request->headers->all(),
'request_server' => $request->server->all(),
'request_cookies' => $request->cookies->all(),
@@ -125,6 +120,18 @@ public function collect(Request $request, Response $response, \Exception $except
$this->data['request_request']['_password'] = '******';
}
+ foreach ($this->data as $key => $value) {
+ if (!is_array($value)) {
+ continue;
+ }
+ if ('request_headers' === $key || 'response_headers' === $key) {
+ $value = array_map(function ($v) { return isset($v[1]) ? $v : $v[0]; }, $value);
+ }
+ if ('request_server' !== $key && 'request_attributes' !== $key && 'request_cookies' !== $key) {
+ $this->data[$key] = array_map(array($this, 'cloneVar'), $value);
+ }
+ }
+
if (isset($this->controllers[$request])) {
$this->data['controller'] = $this->parseController($this->controllers[$request]);
unset($this->controllers[$request]);
@@ -170,27 +177,27 @@ public function getRequestQuery()
public function getRequestHeaders()
{
- return new HeaderBag($this->data['request_headers']);
+ return new ParameterBag($this->data['request_headers']);
}
- public function getRequestServer()
+ public function getRequestServer($raw = false)
{
- return new ParameterBag($this->data['request_server']);
+ return new ParameterBag($raw ? $this->data['request_server'] : array_map(array($this, 'cloneVar'), $this->data['request_server']));
}
- public function getRequestCookies()
+ public function getRequestCookies($raw = false)
{
- return new ParameterBag($this->data['request_cookies']);
+ return new ParameterBag($raw ? $this->data['request_cookies'] : array_map(array($this, 'cloneVar'), $this->data['request_cookies']));
}
- public function getRequestAttributes()
+ public function getRequestAttributes($raw = false)
{
- return new ParameterBag($this->data['request_attributes']);
+ return new ParameterBag($raw ? $this->data['request_attributes'] : array_map(array($this, 'cloneVar'), $this->data['request_attributes']));
}
public function getResponseHeaders()
{
- return new ResponseHeaderBag($this->data['response_headers']);
+ return new ParameterBag($this->data['response_headers']);
}
public function getSessionMetadata()
@@ -264,7 +271,7 @@ public function getIdentifier()
*/
public function getRouteParams()
{
- return isset($this->data['request_attributes']['_route_params']) ? $this->data['request_attributes']['_route_params'] : $this->cloneVar(array());
+ return isset($this->data['request_attributes']['_route_params']) ? array_map(array($this, 'cloneVar'), $this->data['request_attributes']['_route_params']) : array();
}
/**
diff --git a/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php b/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
index 2ae1c5c09bb49..6fec6d88d0a3a 100644
--- a/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
+++ b/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
@@ -39,7 +39,7 @@ public function testCollect()
$attributes = $c->getRequestAttributes();
$this->assertSame('request', $c->getName());
- $this->assertInstanceOf('Symfony\Component\HttpFoundation\HeaderBag', $c->getRequestHeaders());
+ $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getRequestHeaders());
$this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getRequestServer());
$this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getRequestCookies());
$this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $attributes);
@@ -47,13 +47,13 @@ public function testCollect()
$this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getRequestQuery());
$this->assertSame('html', $c->getFormat());
$this->assertEquals('foobar', $c->getRoute());
- $this->assertEquals($cloner->cloneVar(array('name' => 'foo')), $c->getRouteParams());
+ $this->assertEquals(array('name' => $cloner->cloneVar('foo')), $c->getRouteParams());
$this->assertSame(array(), $c->getSessionAttributes());
$this->assertSame('en', $c->getLocale());
$this->assertEquals($cloner->cloneVar($request->attributes->get('resource')), $attributes->get('resource'));
$this->assertEquals($cloner->cloneVar($request->attributes->get('object')), $attributes->get('object'));
- $this->assertInstanceOf('Symfony\Component\HttpFoundation\HeaderBag', $c->getResponseHeaders());
+ $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getResponseHeaders());
$this->assertSame('OK', $c->getStatusText());
$this->assertSame(200, $c->getStatusCode());
$this->assertSame('application/json', $c->getContentType());
pFad - Phonifier reborn
Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy