本文整理汇总了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
示例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" )
示例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
示例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)
示例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
示例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
示例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)
示例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')
示例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()')
示例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)
示例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)
示例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)
示例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'
示例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