Skip to content

trwww/Catalyst-Plugin-SwiffUploaderCookieHack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME
    Catalyst::Plugin::SwiffUploaderCookieHack - Hack to get session restored
    when Flash makes a HTTP request to your app.

DESCRIPTION
    There is a major deficiency in the Flash http client. A sane browser
    plugin would collect cookies that exist in the context it was loaded
    from and include those cookies in the headers of any http requests it
    makes.

    Flash dosen't always do this, and in the situations where it does the
    implementation is not optimal.

    To work around this, on the client side add your
    Catalyst::Plugin::Session::State::Cookie's session id to the body of the
    http request keyed to your session's cookie name and use this plugin to
    get the session seamlessly restored.

USAGE
    FancyUpload knows about this problem and will put cookies in the http
    request for you when it uploads a file if you ask it to. See the
    appendCookieData option at <http://digitarald.de/project/fancyupload/>.

    Then load this plugin in to Catalyst like so:

         use Catalyst (
           ...
           'SwiffUploaderCookieHack',
           ...
           'Session',
           'Session::Store::DBIC',
           'Session::State::Cookie',
           ...
         );

    Now your session will work seamlessly with Flash.

CAVEATS
    If you try to use the app's Catalyst::Plugin::Session before this plugin
    runs, things aren't going to work. Try to reference it in the front of
    the "use Catalyst(...)" argument list so it runs early.

AUTHOR
    Todd Wade <trwww@waveright.com>

COPYRIGHT & LICENSE
    Copyright 2010 Todd Wade

    This sofware is free software, and is licensed under the same terms as
    perl itself.

About

Handle appendCookieData seamlessly in Catalyst

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages