[HttpKernel] fixed the request data collector which always started the session (closes #4915)

This commit is contained in:
Fabien Potencier 2012-07-14 15:04:55 +02:00
parent dcf933be39
commit baf990b762

View File

@ -60,11 +60,17 @@ class RequestDataCollector extends DataCollector
} }
$sessionMetadata = array(); $sessionMetadata = array();
$sessionAttributes = array();
$flashes = array();
if ($request->hasSession()) { if ($request->hasSession()) {
$sessionMetadata['Created'] = date(DATE_RFC822, $request->getSession()->getMetadataBag()->getCreated()); $session = $request->getSession();
$sessionMetadata['Last used'] = date(DATE_RFC822, $request->getSession()->getMetadataBag()->getLastUsed()); if ($session->isStarted()) {
$sessionMetadata['Lifetime'] = $request->getSession()->getMetadataBag()->getLifetime(); $sessionMetadata['Created'] = date(DATE_RFC822, $session->getMetadataBag()->getCreated());
$sessionMetadata['Last used'] = date(DATE_RFC822, $session->getMetadataBag()->getLastUsed());
$sessionMetadata['Lifetime'] = $session->getMetadataBag()->getLifetime();
$sessionAttributes = $session->all();
$flashes = $session->getFlashBag()->peekAll();
}
} }
$this->data = array( $this->data = array(
@ -80,8 +86,8 @@ class RequestDataCollector extends DataCollector
'request_attributes' => $attributes, 'request_attributes' => $attributes,
'response_headers' => $responseHeaders, 'response_headers' => $responseHeaders,
'session_metadata' => $sessionMetadata, 'session_metadata' => $sessionMetadata,
'session_attributes' => $request->hasSession() ? $request->getSession()->all() : array(), 'session_attributes' => $sessionAttributes,
'flashes' => $request->hasSession() ? $request->getSession()->getFlashBag()->peekAll() : array(), 'flashes' => $flashes,
'path_info' => $request->getPathInfo(), 'path_info' => $request->getPathInfo(),
); );
} }