当前位置: 首页>>代码示例>>Python>>正文


Python Request.remove_conditional_headers方法代码示例

本文整理汇总了Python中webob.Request.remove_conditional_headers方法的典型用法代码示例。如果您正苦于以下问题:Python Request.remove_conditional_headers方法的具体用法?Python Request.remove_conditional_headers怎么用?Python Request.remove_conditional_headers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在webob.Request的用法示例。


在下文中一共展示了Request.remove_conditional_headers方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __call__

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import remove_conditional_headers [as 别名]
 def __call__(self, environ, start_response):
     req = Request(environ)
     req.remove_conditional_headers()
     resp = req.get_response(self.app)
     if resp.content_type == 'text/html':
         resp.body = jumble_words(resp.body)
     return resp(environ, start_response)
开发者ID:iitwebdev,项目名称:lectures,代码行数:9,代码来源:rewritingproxy.py

示例2: get_wordpress_content

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import remove_conditional_headers [as 别名]
    def get_wordpress_content(cls, environ, path):

        from plugin import WordpresserException

        # grab the WP page -- we always need it for the nav, at least,
        # and optionally for content when we get a 404 from CKAN.
        proxy_host = config.get('wordpresser.proxy_host')
        #del environ['CONTENT_TYPE']
        #del environ['HTTP_ACCEPT_CHARSET']
        req = Request(environ)
        req.remove_conditional_headers(remove_encoding=True)
        follow = True
        proxy_url = proxy_host

        while follow:
            # deal with redirects internal to Wordpress
            try:
                wp_resp = req.get_response(paste.proxy.Proxy(proxy_url))
            except gaierror,e:
                msg = "Address-related error: %s (%s)" % (str(e),proxy_host)
                raise WordpresserException(msg)

            follow = wp_resp.status_int == 301 \
                     and proxy_host in wp_resp.location
            environ['PATH_INFO'] = '/'
            proxy_url = wp_resp.location
            req = Request(environ)
开发者ID:nbtetreault,项目名称:ckanext-wordpresser,代码行数:29,代码来源:middleware.py

示例3: __call__

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import remove_conditional_headers [as 别名]
    def __call__(self, environ, start_response):
        req = Request(environ)
        req.flash = Flash()
        req.flash.info('info message display with Flash.render()')
        req.flash.warn('warning message')
        req.flash.error('error message')
        req.flash.critical('critical message is sticky')
        req.inline_flash = Flash()
        req.inline_flash.info('info message display with Flash.render_inline()')
        req.inline_flash.warn('warning message')
        req.inline_flash.error('error message')
        req.inline_flash.critical('critical message is sticky')
        if req.path.endswith('/fa.jquery/ajax_values'):
            resp = Response()
            resp.content_type='application/json'
            resp.body = simplejson.dumps([{'value':'Ajax'},{'value':'Borax'},{'value':'Corax'}, {'value':'Dorax'},{'value':'Manix'}])
        elif req.path.endswith('/fa.jquery/demo.html'):
            req.remove_conditional_headers()
            script_name = req.environ.get('HTTP_X_FORWARDED_PATH', '')
            Form.ajax.set(renderer=AutoCompleteFieldRenderer(script_name+'/fa.jquery/ajax_values'))
            obj = Form.gen_model()
            obj.context['slider'] = '10'
            obj.context['sortable'] = '1;2;3'
            obj.context['radioset'] = 'd'
            obj.context['checkboxset'] = ['b', 'a']
            obj.context['selectable'] = 'f'
            obj.context['selectables'] = ['b', 'c']
            fs = Form.bind(obj, data=req.POST or None)

            tabs = Tabs('my_tabs',
                        ('tab1', 'My first tab', fs1),
                        ('tab2', 'The second', fs2),
                        footer='<input type="submit" name="%(id)s" />')
            tabs.tab1.rebind(fs1.gen_model(), data=req.POST or None)
            tabs.tab2.rebind(fs2.gen_model(), data=req.POST or None)
            accordion = Accordion('my_accordion',
                        ('tab1', 'My first section', fs3),
                        ('tab2', 'The second', fs4),
                        footer='<input type="submit" name="%(id)s" />')
            accordion.tab1.rebind(fs3.gen_model(), data=req.POST or None)
            accordion.tab2.rebind(fs4.gen_model(), data=req.POST or None)
            if req.POST:
                if fs.validate():
                    fs.sync()
                if tabs.validate():
                    tabs.sync()
                if accordion.validate():
                    accordion.sync()

            template = templates.get_template('index.mako')
            head = templates.get_template('head.mako').render()
            body = template.render(req=req, fs=fs, tabs=tabs, accordion=accordion,
                                   headers=self.headers,
                                   head=head, mim=req.GET.get('mim', False))

            if self.headers:
                resp = Response()
                resp.body = body
            else:
                req.method = 'get'
                resp = req.get_response(self.app)
                resp.body = resp.body.replace('</head>', head+'</head>')
                resp.body = resp.body.replace('<div id="demo"></div>', body)
        else:
            return self.app(environ, start_response)
        return resp(environ, start_response)
开发者ID:bkocherov,项目名称:fa.jquery,代码行数:68,代码来源:app.py

示例4: __call__

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import remove_conditional_headers [as 别名]
    def __call__(self, environ, start_response):
        request = Request(environ)
        if self.should_ignore(request):
            return self.app(environ, start_response)

        if self.remove_conditional_headers:
            request.remove_conditional_headers()
        else:
            # Always remove Range and Accept-Encoding headers
            request.remove_conditional_headers(
                remove_encoding=True,
                remove_range=False,
                remove_match=False,
                remove_modified=True,
            )

        response = request.get_response(self.app)
        if not self.should_transform(response):
            return response(environ, start_response)
        try:
            input_encoding = response.charset

            # Note, the Content-Length header will not be set
            if request.method == 'HEAD':
                self.reset_headers(response)
                return response(environ, start_response)

            # Prepare the serializer
            try:
                serializer = getHTMLSerializer(
                    response.app_iter,
                    encoding=input_encoding,
                )
            except etree.XMLSyntaxError:
                # Abort transform on syntax error for empty response
                # Headers should be left intact
                return response(environ, start_response)
        finally:
            if getattr(response.app_iter, 'close', None):
                response.app_iter.close()

        self.reset_headers(response)

        # Set up parameters

        params = {}
        for key, value in self.environ_param_map.items():
            if key in environ:
                if value in self.unquoted_params:
                    params[value] = environ[key]
                else:
                    params[value] = quote_param(environ[key])
        for key, value in self.params.items():
            if key in self.unquoted_params:
                params[key] = value
            else:
                params[key] = quote_param(value)

        # Apply the transformation
        tree = self.transform(serializer.tree, **params)

        # Set content type (normally inferred from stylesheet)
        # Unfortunately lxml does not expose docinfo.mediaType
        if self.content_type is None:
            if tree.getroot().tag == 'html':
                response.content_type = 'text/html'
            else:
                response.content_type = 'text/xml'
        response.charset = tree.docinfo.encoding or self.charset

        # Return a repoze.xmliter XMLSerializer, which helps avoid re-parsing
        # the content tree in later middleware stages.
        response.app_iter = XMLSerializer(tree, doctype=self.doctype)

        # Calculate the content length - we still return the parsed tree
        # so that other middleware could avoid having to re-parse, even if
        # we take a hit on serialising here
        if self.update_content_length:
            response.content_length = len(bytes(response.app_iter))

        return response(environ, start_response)
开发者ID:plone,项目名称:diazo,代码行数:83,代码来源:wsgi.py

示例5: __call__

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import remove_conditional_headers [as 别名]
 def __call__(self, environ, start_response):
     req = Request(environ)
     req.remove_conditional_headers()
     res = req.get_response(self.app)
     return res(environ, start_response)
开发者ID:B-Rich,项目名称:pastables,代码行数:7,代码来源:no_cache.py


注:本文中的webob.Request.remove_conditional_headers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。