14 years agoMoved Plack::Request and Plack::Response use to individual State:: subclasses.
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 20:50:10 +0000]
Moved Plack::Request and Plack::Response use to individual State:: subclasses.
Refactored Cookie State to remove code duplicates.

14 years agoAlways renew timestamp in Cookie Session
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 20:39:07 +0000]
Always renew timestamp in Cookie Session

14 years agoPass $env in more Middleware APIs so subclasses can do more things flexibly in the...
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 20:32:45 +0000]
Pass $env in more Middleware APIs so subclasses can do more things flexibly in the runtime.

14 years agos/cleanup/remove/ in Store API
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 20:04:22 +0000]
s/cleanup/remove/ in Store API

14 years agoRefactored Middleware::Session to call ->state and ->store inside more
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 20:02:37 +0000]
Refactored Middleware::Session to call ->state and ->store inside more
abstract methods so Cookie can override them easily without creating
an inline state/store objects.

14 years agoRemove $session->commit, and hence remove manager to make Session
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 19:44:01 +0000]
Remove $session->commit, and hence remove manager to make Session
object really stateless.

14 years agoSimplified the accessor code and consructor. Also simplified documents.
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 19:08:45 +0000]
Simplified the accessor code and consructor. Also simplified documents.

14 years agoRewrote all the tests and now all tests pass!
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 18:48:21 +0000]
Rewrote all the tests and now all tests pass!
(Skips the null store tests since it doesn't make much sense now.)

14 years agoSome cleanup of the code.
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 17:49:45 +0000]
Some cleanup of the code.

14 years agoMake psgix.session a hash reference and plack.session an (optional)
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 17:18:48 +0000]
Make psgix.session a hash reference and plack.session an (optional)
session object. Moved around the code a lot from Plack::Session to
Middleware::Session to make Plack::Session a plain Perl object.

Tests are failing atm. Going to fix this...

14 years agoAdded Session::Cookie middleware which utilizes Cookie as both state and store.
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 16:17:49 +0000]
Added Session::Cookie middleware which utilizes Cookie as both state and store.
Fixes gh-1

14 years agoReworked Session to make the expiration a store's responsibility and
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 16:14:39 +0000]
Reworked Session to make the expiration a store's responsibility and
fix the bug in state where it handles expires as an object state.

psgi.streaming is supported in most Plack servers especially
Standalone, so there's no need to depend on AnyEvent in the test.

Added $session->commit now that all write code to the database is
delayed till the finalization phase.

14 years agoHuge rewrite of the code: $session->get, ->set etc. do not read from
Tatsuhiko Miyagawa [Sat, 9 Jan 2010 06:09:38 +0000]
Huge rewrite of the code: $session->get, ->set etc. do not read from
store as it's called anymore. Session is instantiated in the request
initialization, and committed to the data store in the finalization
phase.

This is more "normal" in terms of web application programming to read,
handle and commit session; imagine you have two concurrent requests
updates multiple keys with multiple ->set() call: the previous
implmentation would update one key from a request and another key from
another. That said, we *might* still need some kind of locking if we
want to provide stricter race condition guard for concurrent requests
with the identical session ids.

Deprecated lots of methods like ->persist, ->delete,
->get_session_id_from_request and changed the API params for ->fetch,
->store etc. Store modules need to be updated but the changes are not
so big.

14 years ago0.03 release
Stevan Little [Thu, 7 Jan 2010 22:09:48 +0000]
0.03 release

14 years agoMerge branch 'master' of git@github.com:stevan/plack-middleware-session
Stevan Little [Thu, 7 Jan 2010 20:49:47 +0000]
Merge branch 'master' of git@github.com:stevan/plack-middleware-session

14 years agos/plack.session/psgix.session/
Stevan Little [Thu, 7 Jan 2010 20:49:28 +0000]
s/plack.session/psgix.session/

14 years agouse lock_* for advisory locking
Tatsuhiko Miyagawa [Tue, 5 Jan 2010 09:02:54 +0000]
use lock_* for advisory locking

14 years agopre-0.02 commit
Stevan Little [Sat, 19 Dec 2009 19:21:25 +0000]
pre-0.02 commit

14 years agoDo not destroy callback interface (clkao)
Tatsuhiko Miyagawa [Sat, 19 Dec 2009 18:08:29 +0000]
Do not destroy callback interface (clkao)

14 years agofix typo
franck cuny [Sat, 19 Dec 2009 16:44:53 +0000]
fix typo

14 years agofixing the mis-named dependency
Stevan Little [Fri, 18 Dec 2009 15:31:50 +0000]
fixing the mis-named dependency

14 years agoversion 0.01
Stevan Little [Tue, 15 Dec 2009 18:55:43 +0000]
version 0.01

14 years agoupdate example to use Plack::Request->session, add docs about where we store session
Stevan Little [Tue, 15 Dec 2009 18:53:28 +0000]
update example to use Plack::Request->session, add docs about where we store session

14 years agoAdding some additional docs and VERSION, AUTHORITY stuff
Stevan Little [Mon, 14 Dec 2009 04:24:44 +0000]
Adding some additional docs and VERSION, AUTHORITY stuff

14 years agoadding test for custom session subclass
Stevan Little [Mon, 14 Dec 2009 02:52:51 +0000]
adding test for custom session subclass

14 years agoadding in the dump_session method to the Store classes
Stevan Little [Sun, 13 Dec 2009 18:27:00 +0000]
adding in the dump_session method to the Store classes

14 years agoallow session class to be configurable
Stevan Little [Sun, 13 Dec 2009 18:01:27 +0000]
allow session class to be configurable

14 years agodoc cleanup
Stevan Little [Sun, 13 Dec 2009 06:26:03 +0000]
doc cleanup

14 years agoremove Store::CHI
Masahiro Chiba [Sun, 13 Dec 2009 06:15:44 +0000]
remove Store::CHI

14 years agoadd Store::Cache
Masahiro Chiba [Sun, 13 Dec 2009 06:06:51 +0000]
add Store::Cache

14 years agoadding the validation step into the docs
Stevan Little [Sun, 13 Dec 2009 05:30:42 +0000]
adding the validation step into the docs

14 years agorefactoring chiba++ commit so we only extract session id once
Stevan Little [Sun, 13 Dec 2009 05:24:36 +0000]
refactoring chiba++ commit so we only extract session id once

14 years agono temporary variable
Masahiro Chiba [Sun, 13 Dec 2009 04:01:42 +0000]
no temporary variable

14 years agos/check/validate/
Masahiro Chiba [Sun, 13 Dec 2009 03:44:04 +0000]
s/check/validate/

14 years agooops
Masahiro Chiba [Sun, 13 Dec 2009 03:36:46 +0000]
oops

14 years agocheck wrong format request session_id
Masahiro Chiba [Sun, 13 Dec 2009 03:35:23 +0000]
check wrong format request session_id

14 years agoinflate store/state with strings like "store => 'File'" with autoloading.
Tatsuhiko Miyagawa [Sun, 13 Dec 2009 03:40:10 +0000]
inflate store/state with strings like "store => 'File'" with autoloading.

14 years agouse TMPDIR env if it's defined in Store::File
Tatsuhiko Miyagawa [Sun, 13 Dec 2009 03:08:32 +0000]
use TMPDIR env if it's defined in Store::File

14 years agobunch more docs
Stevan Little [Sun, 13 Dec 2009 02:12:19 +0000]
bunch more docs

14 years agoforgot to rename psgix.session to plack.session in the example
Stevan Little [Sun, 13 Dec 2009 01:20:37 +0000]
forgot to rename psgix.session to plack.session in the example

14 years agoimproved Store::File based on stuff in Store::CHI, ... added Store::Null and tests
Stevan Little [Sun, 13 Dec 2009 01:11:42 +0000]
improved Store::File based on stuff in Store::CHI, ... added Store::Null and tests

14 years agomake temporary directory by myself
Masahiro Chiba [Sat, 12 Dec 2009 22:52:04 +0000]
make temporary directory by myself

14 years agoadd test for Store::CHI
Masahiro Chiba [Sat, 12 Dec 2009 22:49:27 +0000]
add test for Store::CHI

14 years agoto make git include the t/tmp dir
Stevan Little [Sun, 13 Dec 2009 00:43:30 +0000]
to make git include the t/tmp dir

14 years agorename psgix.session to plack.session
Stevan Little [Sat, 12 Dec 2009 21:50:41 +0000]
rename psgix.session to plack.session

14 years agore-usable test suite and Store::File added
Stevan Little [Sat, 12 Dec 2009 21:38:28 +0000]
re-usable test suite and Store::File added

14 years agorename dist to Plack::Middleware::Session for consistency
Stevan Little [Sat, 12 Dec 2009 18:23:47 +0000]
rename dist to Plack::Middleware::Session for consistency

14 years agoadding Makefile.PL, Changes, README and such
Stevan Little [Sat, 12 Dec 2009 17:01:23 +0000]
adding Makefile.PL, Changes, README and such

14 years agodocs, docs and more docs
Stevan Little [Sat, 12 Dec 2009 16:55:24 +0000]
docs, docs and more docs

14 years agotests for State::Cookie
Stevan Little [Sat, 12 Dec 2009 16:05:57 +0000]
tests for State::Cookie

14 years agopreliminary docs added, improved support for subclassing and sid_generator callback...
Stevan Little [Sat, 12 Dec 2009 15:28:47 +0000]
preliminary docs added, improved support for subclassing and sid_generator callback for ::State

14 years agoadd CHI store
Masahiro Chiba [Sat, 12 Dec 2009 09:07:55 +0000]
add CHI store

14 years agokill the debug lines
Tatsuhiko Miyagawa [Sat, 12 Dec 2009 06:38:17 +0000]
kill the debug lines

14 years agoFixed I generation to use SHA1 instead of sequential. Added sane defaults to Middleware.
Tatsuhiko Miyagawa [Sat, 12 Dec 2009 06:34:40 +0000]
Fixed I generation to use SHA1 instead of sequential. Added sane defaults to Middleware.

14 years agoMiddleware added, cookie state added, and example psgi app
Stevan Little [Sat, 12 Dec 2009 02:26:07 +0000]
Middleware added, cookie state added, and example psgi app

14 years agoas minimalist as I could possibly be
Stevan Little [Fri, 11 Dec 2009 01:10:27 +0000]
as minimalist as I could possibly be