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


Python Request.method方法代码示例

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


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

示例1: test_request_post_valid

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
    def test_request_post_valid(self):
        environ = {'wsgi.input': StringIO('')}
        req=Request(environ)
        req.method = 'POST'
        req.body='dblistform_d:0:name=a&dblistform_d:0:id=1'
        req.environ['CONTENT_LENGTH'] = str(len(req.body))
        req.environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'

        self.mw.config.debug = True
        r = self.widget().request(req)
        assert r.body == """Form posted successfully [{'id': 1, 'name': u'a'}]""", r.body
开发者ID:LeResKP,项目名称:tw2.sqla,代码行数:13,代码来源:test_widgets.py

示例2: test_request_post_redirect

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
    def test_request_post_redirect(self):
        environ = {'wsgi.input': StringIO('')}
        req=Request(environ)
        req.method = 'POST'
        req.body='dbformpage_d:name=a'
        req.environ['CONTENT_LENGTH'] = str(len(req.body))
        req.environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'

        self.mw.config.debug = True
        r = self.widget(redirect="/foo").request(req)
        assert( r.status_int == 302 and r.location=="/foo" )
开发者ID:LeResKP,项目名称:tw2.sqla,代码行数:13,代码来源:test_widgets.py

示例3: test_pynta_app

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
def test_pynta_app(app_fixture):
    app_class, etalon_output = app_fixture

    request = Request({})
    request.method = 'GET'

    app = app_class()
    app.request = request
    app.dispatch({})

    assert app.text == etalon_output
开发者ID:54wang17,项目名称:pynta,代码行数:13,代码来源:test_base.py

示例4: test_request_post_counts_update

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
    def test_request_post_counts_update(self):
        environ = {'wsgi.input': StringIO('')}
        req=Request(environ)
        req.method = 'POST'
        req.body='dblistform_d:0:name=a&dblistform_d:0:id=1&dblistform_d:1:name=b&dblistform_d:1:id=2'
        req.environ['CONTENT_LENGTH'] = str(len(req.body))
        req.environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'

        self.mw.config.debug = True
        assert(self.DbTestCls1.query.count() == 2)
        r = self.widget().request(req)
        assert(self.DbTestCls1.query.count() == 2)
开发者ID:LeResKP,项目名称:tw2.sqla,代码行数:14,代码来源:test_widgets.py

示例5: test_pynta_session

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
def test_pynta_session():
    app = Application()

    session = Session()
    session.save()
    session_key = session.key

    request = Request({})
    request.method = 'GET'
    request.headers['Cookie'] = 'PYNTA_SESSION_ID=%s' % session_key

    app.request = request
    app.dispatch({})

    assert app.session.key == session_key
开发者ID:54wang17,项目名称:pynta,代码行数:17,代码来源:test_session.py

示例6: test_request_post_valid

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
    def test_request_post_valid(self):
        environ = {'wsgi.input': StringIO(''),
                   }
        req=Request(environ)
        req.method = 'POST'
        req.body='mytestwidget:field1=a&mytestwidget:field2=b&mytestwidget:field3=c'
        req.environ['CONTENT_LENGTH'] = str(len(req.body))
        req.environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'

        self.mw.config.debug = True
        r = self.widget().request(req)
        assert (
            r.body == """Form posted successfully {'field2': 'b', 'field3': 'c', 'field1': 'a'}""" or
            r.body == """Form posted successfully {'field2': u'b', 'field3': u'c', 'field1': u'a'}"""
            ), r.body
开发者ID:knzm,项目名称:tw2.forms,代码行数:17,代码来源:test_widgets.py

示例7: test_request_post_valid

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
    def test_request_post_valid(self):
        environ = {'wsgi.input': StringIO('')}
        req = Request(environ)
        req.method = 'POST'
        attr = six.PY3 and "text" or "body"
        setattr(req, attr, ('mytestwidget:field1=a&mytestwidget'
            ':field2=b&mytestwidget:field3=c'))
        req.environ['CONTENT_LENGTH'] = str(len(req.body))
        req.environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'

        self.mw.config.debug = True
        r = self.widget().request(req)
        target = six.b(
            "Form posted successfully {'field2': 'b', 'field3': 'c', 'field1': 'a'}"
        )
        assert(target in r.body, r.body)
开发者ID:LeResKP,项目名称:tw2.forms,代码行数:18,代码来源:test_widgets.py

示例8: _test_request_post_content_update

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
    def _test_request_post_content_update(self):
        environ = {'wsgi.input': StringIO('')}
        req=Request(environ)
        req.method = 'POST'
        req.body='dblistform_d:0:name=b&dblistform_d:0:id=1'
        req.environ['CONTENT_LENGTH'] = str(len(req.body))
        req.environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'

        self.mw.config.debug = True
        original = self.DbTestCls1.query.filter(self.DbTestCls1.id==1).one()
        assert(original.name == 'foo1')
        r = self.widget().request(req)
        updated = self.DbTestCls1.query.filter(self.DbTestCls1.id=='1')
        assert(updated.count() == 1)
        updated = updated.one()
        assert(updated.name == 'b')
开发者ID:LeResKP,项目名称:tw2.sqla,代码行数:18,代码来源:test_widgets.py

示例9: test_no_query_property

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
    def test_no_query_property(self):
        old_prop = self.widget.entity.query
        self.widget.entity.query = None

        environ = {'wsgi.input': StringIO('')}
        req=Request(environ)
        req.method = 'POST'
        req.body='dbformpage_d:name=a'
        req.environ['CONTENT_LENGTH'] = str(len(req.body))
        req.environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'

        self.mw.config.debug = True
        try:
            r = self.widget().request(req)
            assert False
        except AttributeError, e:
            print e
            assert(str(e) == 'entity has no query_property()')
开发者ID:LeResKP,项目名称:tw2.sqla,代码行数:20,代码来源:test_widgets.py

示例10: __call__

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
    def __call__(self, environ, start_response):
        req = Request(environ)
	
        self.logger.debug("envirion %s req %s", environ, req)
        auth_token = req.headers['x-auth-token']
        if req.method == "GET" and req.path.startswith("/v1/images/") and \
                len(req.path) == \
                len("/v1/images/00000000-0000-0000-00000000000000000"):
            req.method = "HEAD"
        try:
            values = self.mc.get(auth_token)
            if values == None:
                 values = {}
            self.logger.debug("method %s", req.method)
            resp = self.handle_openstack_api(req, auth_token, values)

        except memcache.Client.MemcachedKeyNoneError:  
            pass

        return resp(environ, start_response)
开发者ID:mtgreenway,项目名称:tukey-middleware,代码行数:22,代码来源:tukey_server.py

示例11: __call__

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [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

示例12: __call__

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

        req.environ['deliverance.base_url'] = req.application_url
        ## FIXME: copy_get?:
        orig_req = Request(environ.copy())
        if 'deliverance.log' in req.environ:
            log = req.environ['deliverance.log']
        else:
            log = self.log_factory(req, self, **self.log_factory_kw)
            ## FIXME: should this be put in both the orig_req and this req?
            req.environ['deliverance.log'] = log
        def resource_fetcher(url, retry_inner_if_not_200=False):
            """
            Return the Response object for the given URL
            """
            return self.get_resource(url, orig_req, log, retry_inner_if_not_200)
        if req.path_info_peek() == '.deliverance':
            req.path_info_pop()
            resp = self.internal_app(req, resource_fetcher)
            return resp(environ, start_response)
        rule_set = self.rule_getter(resource_fetcher, self.app, orig_req)
        clientside = rule_set.check_clientside(req, log)
        if clientside and req.url in self.known_html:
            if req.cookies.get('jsEnabled'):
                log.debug(self, 'Responding to %s with a clientside theme' % req.url)
                return self.clientside_response(req, rule_set, resource_fetcher, log)(environ, start_response)
            else:
                log.debug(self, 'Not doing clientside theming because jsEnabled cookie not set')

        head_response = None
        if req.method == "HEAD":
            # We need to copy the request instead of reusing it, 
            # in case the downstream app modifies req.environ in-place
            head_req = req.copy()
            head_response = head_req.get_response(self.app)
            req.method = "GET"

        resp = req.get_response(self.app)

        ## FIXME: also XHTML?
        if resp.content_type != 'text/html':
            ## FIXME: remove from known_html?
            return resp(environ, start_response)
        
        # XXX: Not clear why such responses would have a content type, but
        # they sometimes do (from Zope/Plone, at least) and that then breaks
        # when trying to apply a theme.
        if resp.status_int in (301, 302, 304):
            return resp(environ, start_response)
            
        if resp.content_length == 0:
            return resp(environ, start_response)

        if resp.body == '':
            return resp(environ, start_response)

        if clientside and req.url not in self.known_html:
            log.debug(self, '%s would have been a clientside check; in future will be since we know it is HTML'
                      % req.url)
            self.known_titles[req.url] = self._get_title(resp.body)
            self.known_html.add(req.url)
        resp = rule_set.apply_rules(req, resp, resource_fetcher, log, 
                                    default_theme=self.default_theme(environ))
        if clientside:
            resp.decode_content()
            resp.body = self._substitute_jsenable(resp.body)
        resp = log.finish_request(req, resp)

        if head_response:
            head_response.headers = resp.headers
            resp = head_response

        return resp(environ, start_response)
开发者ID:malthe,项目名称:Deliverance,代码行数:78,代码来源:middleware.py

示例13: str

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
req.headers['Content-Type'] = 'application/x-www-urlencoded'
req.headers.items()
req.environ['CONTENT_TYPE']

# Query & POST
req = Request.blank('/test?check=a&check=b&name=Bob')
req.GET
req.GET['check']
req.GET.getall('check')
req.GET.items()
req.GET.values()

# change to POST
req.POST
req.POST.items()
req.method = 'POST'
req.body = 'name=Joe&[email protected]'
req.POST
req.POST['name']

req.params
req.params['name']
req.params.getall('name')
for name, value in req.params.items():
    print '%s: %r' % (name, value)

req = Request.blank('/test?check=a&check=b&name=Bob')
req.method = 'PUT'
req.body = body = 'var1=value1&var2=value2&rep=1&rep=2'
req.environ['CONTENT_LENGTH'] = str(len(req.body))
req.environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'
开发者ID:youzhibicheng,项目名称:ThinkingPython,代码行数:33,代码来源:webob_tutorial.py

示例14: POST

# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import method [as 别名]
 def POST(self):
     req = WebRequest(self.env)
     req.method = "POST"
     req.body = self.input_data
     return req.POST
开发者ID:Jamongkad,项目名称:webpy-mvc,代码行数:7,代码来源:myrequest.py


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