def lwp_cookie_str(cookie): """Return string representation of Cookie in the LWP cookie file format. Actually, the format is extended a bit -- see module docstring. """ h = [(cookie.name, cookie.value), ("path", cookie.path), ("domain", cookie.domain)] if cookie.port is not None: h.append(("port", cookie.port)) if cookie.path_specified: h.append(("path_spec", None)) if cookie.port_specified: h.append(("port_spec", None)) if cookie.domain_initial_dot: h.append(("domain_dot", None)) if cookie.secure: h.append(("secure", None)) if cookie.expires: h.append(("expires", time2isoz(float(cookie.expires)))) if cookie.discard: h.append(("discard", None)) if cookie.comment: h.append(("comment", cookie.comment)) if cookie.comment_url: h.append(("commenturl", cookie.comment_url)) keys = cookie._rest.keys() keys.sort() for k in keys: h.append((k, str(cookie._rest[k]))) h.append(("version", str(cookie.version))) return join_header_words([h])
def my_lwp_cookie_str(cookie): """ This method is used to monkey patch lwp_cookie_str from _LWPCookieJar. See my_time2isoz for a description of the problem. """ from cookielib import join_header_words h = [(cookie.name, cookie.value), ("path", cookie.path), ("domain", cookie.domain)] if cookie.port is not None: h.append(("port", cookie.port)) if cookie.path_specified: h.append(("path_spec", None)) if cookie.port_specified: h.append(("port_spec", None)) if cookie.domain_initial_dot: h.append(("domain_dot", None)) if cookie.secure: h.append(("secure", None)) if cookie.expires: h.append(("expires", my_time2isoz(float(cookie.expires)))) if cookie.discard: h.append(("discard", None)) if cookie.comment: h.append(("comment", cookie.comment)) if cookie.comment_url: h.append(("commenturl", cookie.comment_url)) keys = cookie._rest.keys() keys.sort() for k in keys: h.append((k, str(cookie._rest[k]))) h.append(("version", str(cookie.version))) return join_header_words([h])
def lwp_cookie_str(cookie): h = [(cookie.name, cookie.value), ('path', cookie.path), ('domain', cookie.domain)] if cookie.port is not None: h.append(('port', cookie.port)) if cookie.path_specified: h.append(('path_spec', None)) if cookie.port_specified: h.append(('port_spec', None)) if cookie.domain_initial_dot: h.append(('domain_dot', None)) if cookie.secure: h.append(('secure', None)) if cookie.expires: h.append(('expires', time2isoz(float(cookie.expires)))) if cookie.discard: h.append(('discard', None)) if cookie.comment: h.append(('comment', cookie.comment)) if cookie.comment_url: h.append(('commenturl', cookie.comment_url)) keys = cookie._rest.keys() keys.sort() for k in keys: h.append((k, str(cookie._rest[k]))) h.append(('version', str(cookie.version))) return join_header_words([h])
def __call__(self, environ, start_response): """WSGI interface In: - ``environ`` -- dictionary of the received elements - ``start_response`` -- callback to send the headers to the browser Return: - the content to send back to the browser """ # Clean-up the cookies because Bespin can generate invalid cookies for WebOb cookies = environ.get('HTTP_COOKIE') if cookies: cookies = cookielib.split_header_words([cookies]) cookies = [(k, v) for (k, v) in cookies[0] if not k.startswith('viewData_Nagare_')] environ['HTTP_COOKIE'] = cookielib.join_header_words([cookies]) return super(WSGIApp, self).__call__(environ, start_response)