Пример #1
0
        def before_request():
            decorate_endpoints()

            d = TypeConversionDict(request.cookies)
            d['request_time'] = time.time()
            request.cookies = ImmutableTypeConversionDict(d)
            logging.info("before_request %s" % request)
Пример #2
0
def _build_updated_cookies(request, user_token, route, name):
    """
    Based on the current request, create updated headers and cookies content
    attributes.
    """
    # Interpret cookie header content
    cookies_header = Cookie.SimpleCookie()
    currrent_cookie_content = request.headers.get('cookie', None)
    if currrent_cookie_content:
        cookies_header.load(currrent_cookie_content.encode("utf8"))
    # Interpret cookies attribute (immutable dict) as a normal dict
    if request.cookies:
        cookies = dict(request.cookies)
    else:
        cookies = {}
    # Update cookie structures
    if route:
        # Create/update solr route
        cookies_header[name.encode("utf8")] = route.encode("utf8")
        cookies[name] = route
    else:
        # Discard non-registered solr route if it is present
        cookies_header.pop(name, None)
        cookies.pop(name, None)
    # Transform cookies structures into the format that request requires
    cookies_header_content = cookies_header.output(header="", sep=";")
    cookies_content = ImmutableTypeConversionDict(cookies)
    return cookies_header_content, cookies_content
Пример #3
0
 def values(self):
     """
     sanitized values
     """
     return [
         self.sanitize_input(v)
         for v in ImmutableTypeConversionDict.values(self)
     ]
Пример #4
0
    def pop(self, key):
        """
        Sanitized pop

        :param key: the key for the value
        :type key: str
        """
        val = ImmutableTypeConversionDict.pop(key)
        return self.sanitize_input(val)
Пример #5
0
    def pop(self, key):
        """
        Sanitized pop

        :param key: the key for the value
        :type key: str
        """
        val = ImmutableTypeConversionDict.pop(key)
        return self.sanitize_input(val)
Пример #6
0
 def before_request():
     # hack to allow browsers who don't set 3rd party cookies
     x_session = request.headers.get('X-Session')
     if x_session:
         rc = dict(request.cookies)
         rc['session'] = x_session
         request.cookies = ImmutableTypeConversionDict(rc)
         # refresh session
         refreshed_csrf_token = app.session_interface.open_session(
             app, request).get('csrf_token')
         session['csrf_token'] = refreshed_csrf_token
     user_agent = parse(request.user_agent.string)
     g.mobile = False
     if user_agent.is_mobile or user_agent.is_tablet:
         g.mobile = True
     g.constants = Constants
     g.config = app.config
     g.mode = app.config.get('MODE')
     g.response_context = []
     g.s = strings
     g.payment = payment.StripeAPI()
     g.db = database.OpinewSQLAlchemyFacade()
Пример #7
0
 def items(self):
     """
     Sanitized items
     """
     return [(v[0], self.sanitize_input(v[1])) for v in
             ImmutableTypeConversionDict.items(self)]
Пример #8
0
 def values(self):
     """
     sanitized values
     """
     return [self.sanitize_input(v) for v in
             ImmutableTypeConversionDict.values(self)]
Пример #9
0
 def __getitem__(self, key):
     """
     Sanitized __getitem__
     """
     val = ImmutableTypeConversionDict.__getitem__(self, key)
     return self.sanitize_input(val)
Пример #10
0
 def items(self):
     """
     Sanitized items
     """
     return [(v[0], self.sanitize_input(v[1]))
             for v in ImmutableTypeConversionDict.items(self)]
Пример #11
0
 def __getitem__(self, key):
     """
     Sanitized __getitem__
     """
     val = ImmutableTypeConversionDict.__getitem__(self, key)
     return self.sanitize_input(val)