diff options
| author | Michael Merickel <michael@merickel.org> | 2015-11-23 12:59:55 -0600 |
|---|---|---|
| committer | Michael Merickel <michael@merickel.org> | 2015-11-23 12:59:55 -0600 |
| commit | ee9c620963553a3a959cdfc517f1e0818a21e9c0 (patch) | |
| tree | b13504cba928fdd68326531906e1ae571f255d93 | |
| parent | 19ae2c65a0ec9bad0a5e5b195b72647b96676a49 (diff) | |
| download | pyramid-ee9c620963553a3a959cdfc517f1e0818a21e9c0.tar.gz pyramid-ee9c620963553a3a959cdfc517f1e0818a21e9c0.tar.bz2 pyramid-ee9c620963553a3a959cdfc517f1e0818a21e9c0.zip | |
expose the PickleSerializer
| -rw-r--r-- | docs/api/session.rst | 1 | ||||
| -rw-r--r-- | pyramid/session.py | 18 |
2 files changed, 16 insertions, 3 deletions
diff --git a/docs/api/session.rst b/docs/api/session.rst index dde9d20e9..474e2bb32 100644 --- a/docs/api/session.rst +++ b/docs/api/session.rst @@ -17,4 +17,5 @@ .. autofunction:: BaseCookieSessionFactory + .. autoclass:: PickleSerializer diff --git a/pyramid/session.py b/pyramid/session.py index fa85fe69c..51f9de620 100644 --- a/pyramid/session.py +++ b/pyramid/session.py @@ -133,13 +133,25 @@ def check_csrf_token(request, return True class PickleSerializer(object): - """ A Webob cookie serializer that uses the pickle protocol to dump Python - data to bytes.""" + """ A serializer that uses the pickle protocol to dump Python + data to bytes. + + This is the default serializer used by Pyramid. + + ``protocol`` may be specified to control the version of pickle used. + Defaults to :attr:`pickle.HIGHEST_PROTOCOL`. + + """ + def __init__(self, protocol=pickle.HIGHEST_PROTOCOL): + self.protocol = protocol + def loads(self, bstruct): + """Accept bytes and return a Python object.""" return pickle.loads(bstruct) def dumps(self, appstruct): - return pickle.dumps(appstruct, pickle.HIGHEST_PROTOCOL) + """Accept a Python object and return bytes.""" + return pickle.dumps(appstruct, self.protocol) def BaseCookieSessionFactory( serializer, |
