Commit Graph

38 Commits

Author SHA1 Message Date
Drak
dcac5d7fd6 [HttpFoundation] Corrected docblocks and properties. 2012-06-29 18:04:40 +01:00
Fabien Potencier
df8d94e33c added Request::getSchemeAndHttpHost() and Request::getUserInfo() (closes #4312, refs #3416, refs #3056) 2012-06-28 17:56:04 +02:00
Fabien Potencier
55c6df995f merged 2.0 2012-06-20 21:33:33 +02:00
Fabien Potencier
6efc00d39d merged branch kriswallsmith/head-streamed-response-err (PR #4502)
Commits
-------

280fc05 failing test for HEAD StreamedResponse requests

Discussion
----------

[WIP] failing test for HEAD StreamedResponse requests

An exception is thrown if you prepare a StreamedResponse with a HEAD request. I'm not sure what the right fix is…

---------------------------------------------------------------------------

by kriswallsmith at 2012-06-06T15:51:04Z

The Travis build is here: http://travis-ci.org/#!/symfony/symfony/builds/1543352

---------------------------------------------------------------------------

by sstok at 2012-06-08T11:07:31Z

Well a HEAD can't/shouldn't be streamed as it doesn't contain a body so what is the real problem here?

---------------------------------------------------------------------------

by kriswallsmith at 2012-06-08T16:14:18Z

@sstok the response is prepared by the ResponseListener regardless of request method

---------------------------------------------------------------------------

by adrienbrault at 2012-06-08T19:41:27Z

Shouldn't the test at least assert something ?
2012-06-13 16:17:27 +02:00
Fabien Potencier
66ff06096c fixed an issue with session mocking in functional tests that do not start with a fresh session instance for each request (Silex for instance) 2012-06-12 10:24:12 +02:00
Fabien Potencier
b84b46ba1a [HttpFoundation] added some unit tests (refs #4510) 2012-06-08 16:22:49 +02:00
Kris Wallsmith
280fc0578a failing test for HEAD StreamedResponse requests 2012-06-05 22:28:15 -07:00
Neil Ferreira
85db22130e Since getClientIp() no longer takes a parameter, removed that old test
Added a new test for HTTP_X_FORWARDED_FOR that starts with 'unknown, '
2012-05-31 19:32:31 +08:00
Fabien Potencier
0e98d33ee0 merged branch drak/natives (PR #4454)
Commits
-------

3c8cc0a [HttpFoundation][Sessions] Refactored tests
13a2c82 [FrameworkBundle] Refactor session file handler service name and update changelogs
b2cc580 [HttpFoundation] Removed Native*Handler session save handler classes
f33b77c [HttpFoundation] Added a custom file save handler

Discussion
----------

[HttpFoundation][Sessions] Removed native save handlers

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -

Added a specific filesessionhandler
Removed native handlers to slim down code.

---------------------------------------------------------------------------

by travisbot at 2012-05-30T02:54:40Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1473181) (merged 3c8cc0a1 into adf07f1e).
2012-05-30 07:57:13 +02:00
Drak
d046fedefb [HttpFoundation] Remove temporary files after tests run 2012-05-28 12:39:57 +05:45
Drak
3c8cc0a1a0 [HttpFoundation][Sessions] Refactored tests 2012-05-28 06:12:06 +05:45
Drak
b2cc580be7 [HttpFoundation] Removed Native*Handler session save handler classes 2012-05-28 06:09:31 +05:45
Drak
f33b77c23e [HttpFoundation] Added a custom file save handler 2012-05-28 06:09:26 +05:45
Fabien Potencier
335d4eab86 fixed CS 2012-05-21 22:27:15 +02:00
Fabien Potencier
aa3e1a3b8c merged 2.0 2012-05-21 16:05:28 +02:00
Fabien Potencier
9b7aab5e94 merged 2.0 2012-05-20 18:16:37 +02:00
Fabien Potencier
982c369f37 added @ to all chmod() calls to avoid PHP warnings (operation not permitted) when using CIFS or NTFSa (closes #2125) 2012-05-15 08:44:52 +02:00
Victor Berchet
12e22c0d1f [Session] Memcache/d cleanup, test improvements 2012-05-10 09:28:59 +02:00
Victor Berchet
0216e05605 [HttpFoundation][Session] Assume that memcache(d) instances are already configured 2012-05-08 11:20:17 +02:00
Fabien Potencier
26f933e7bd fixed CS 2012-05-01 15:23:48 +02:00
William DURAND
6756f2819d [Session] Fixed Backward Compatibility issue with getFlashes() 2012-04-25 19:34:10 +02:00
Tobias Schultze
58b2b2da54 fix fatal error when mongo not available 2012-04-23 14:17:34 +02:00
Fabien Potencier
d5c5d7667d merged branch Baachi/mongo-session-storage (PR #4013)
Commits
-------

40df3bf Add mongodb session storage

Discussion
----------

[HttpFoundation][Session] Add mongodb session storage

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

---------------------------------------------------------------------------

by Baachi at 2012-04-19T19:05:19Z

Review please :)

---------------------------------------------------------------------------

by Baachi at 2012-04-19T19:49:42Z

@stof Can be merged?

---------------------------------------------------------------------------

by stof at 2012-04-19T19:51:28Z

I'm not a Mongo expert but it seems fine. You simply need to wait @fabpot's final review now

---------------------------------------------------------------------------

by Baachi at 2012-04-19T19:52:53Z

Okay, thanks :)

---------------------------------------------------------------------------

by Baachi at 2012-04-20T06:21:52Z

@vicb Sorry, for the email flood :)

I implemented all your suggestions.

---------------------------------------------------------------------------

by fabpot at 2012-04-22T08:27:19Z

@drak, @vicb: Is it ok now?

---------------------------------------------------------------------------

by vicb at 2012-04-22T08:33:31Z

I am ok with this PR
2012-04-23 12:27:25 +02:00
Jordan Alliot
e509e6ffd1 Skip PDOSessionHandlerTest if PDO SQLite is not available 2012-04-21 12:28:57 +02:00
Markus Bachmann
40df3bf86f Add mongodb session storage
Some changes based on @stof and @stloyd suggestions

Some changes based on @vicb suggestions

Some changes based on @vicb suggestions

Add changes
2012-04-20 19:19:55 +02:00
Victor Berchet
55014a6841 [Routing] Request methods always return a raw path, fix the matcher to decode only once
sq
2012-04-10 10:40:58 +02:00
Arnaud Le Blanc
d17ba0e147 Fixed base URL detection when request URI contains encoded chars
Signed-off-by: Victor Berchet <victor@suumit.com>
2012-04-10 10:15:43 +02:00
Drak
33881ddd30 [HttpFoundation] Add more tests for casing 2012-04-06 17:10:55 +05:45
Drak
aec133996e [HttpFoundation] Coding standards. 2012-04-06 07:29:37 +00:00
Drak
3dc72cdf21 Add isMethod() to Request object 2012-04-06 12:35:12 +05:45
Fabien Potencier
b9de0be349 merged branch drak/sessionmeta (PR #3718)
Commits
-------

8a0e6d2 [HttpFoundation] Update changelog.
4fc04fa [HttpFoundation] Renamed MetaBag to MetadataBag
2f03b31 [HttpFoundation] Added the ability to change the session cookie lifetime on migrate().
39141e8 [HttpFoundation] Add ability to force the lifetime (allows update of session cookie expiry-time)
ec3f88f [HttpFoundation] Add methods to interface
402254c [HttpFoundation] Changed meta-data responsibility to SessionStorageInterface
d9fd14f [HttpFoundation] Refactored for moved tests location.
29bd787 [HttpFoundation] Added some basic meta-data to Session

Discussion
----------

[2.1][HttpFoundation] Added some basic meta-data to Session

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
References the following tickets: #2171
Todo: -

Session data is stored as an encoded string against a single id.  If we want to store meta-data about the session, that data has to be stored as part of the session data to ensure the meta-data can persist using any session save handler.

This patch makes it much easier to determine the logic of session expiration.  In general a session expiry can be dealt with by the gc handlers, however, in some applications more specific expiry rules might be required.

Session expiry may also be more complex than a simple, session was idle for x seconds.  For example, in Zikula there are three security settings, Low, Medium and High.  The rules for session expiry are more complex as under the Medium setting, a session will expire after x minutes idle time, unless the rememberme option was ticked on login.  If so, the session will not idle.  This gives the user some control over their experience.  Under the high security setting, then there is no option, sessions will expire after the idle time is reached and login the UI has the rememberme checkbox removed.

The other advantage is that under this methodology, there can be a UI experience on expiry, like "Sorry, your session expired due to being idle for 10 minutes".

Keeping in the spirit of Symfony2 Components, I am seeking to make session handling flexible enough to accommodate these general requirements without specifically covering expiration rules. It would mean that it would be up to the implementing application to specifcally check and expire session after starting it.

Expiration might look something like this:

    $session->start();
    if (time() - $session->getMetadataBag()->getLastUpdate() > $maxIdleTime) {
        $session->invalidate();
        throw new SessionExpired();
    }

This commit also brings the ability to change the `cookie_lifetime` when migrating a session. This means one could move from a default of browser only session cookie to long-lived cookie when changing from a anonymous to a logged in user for example.

    $session->migrate($destroy, $lifetime);

---------------------------------------------------------------------------

by drak at 2012-03-30T18:18:43Z

@fabpot I have removed [WIP] status.

---------------------------------------------------------------------------

by drak at 2012-03-31T13:34:57Z

NB: This PR has been rebased and the tests relocated as per recent master changes.

---------------------------------------------------------------------------

by drak at 2012-04-03T02:16:43Z

@fabpot - ping
2012-04-03 11:40:07 +02:00
Eriksen Costa
2cac50d8a9 fixed CS (missing or misplaced license blocks) 2012-04-02 00:52:14 -03:00
Drak
4fc04fae18 [HttpFoundation] Renamed MetaBag to MetadataBag 2012-03-31 22:36:52 +05:45
Drak
39141e865b [HttpFoundation] Add ability to force the lifetime (allows update of session cookie expiry-time) 2012-03-31 19:12:22 +05:45
Drak
402254ca7e [HttpFoundation] Changed meta-data responsibility to
SessionStorageInterface

Added cookie_lifetime to the meta-data.  This allows to know how old
a cookie is and when the cookie will expire.
2012-03-31 19:12:13 +05:45
Drak
d9fd14f261 [HttpFoundation] Refactored for moved tests location. 2012-03-31 19:12:08 +05:45
Drak
29bd787b7e [HttpFoundation] Added some basic meta-data to Session
This commit allows applications to know certain meta-data about the session
Session storage is designed to only store some data against a session ID
so this method is necessary to be compatible with any session handler, including
native handlers.
2012-03-31 19:12:04 +05:45
Fabien Potencier
fea6b79acd moved component and bridge unit tests to the src/ directory
This is the first step to make each Symfony Component and Bridge self-contained.
2012-03-29 08:37:22 +02:00