本文整理汇总了Python中webob.Response.charset方法的典型用法代码示例。如果您正苦于以下问题:Python Response.charset方法的具体用法?Python Response.charset怎么用?Python Response.charset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webob.Response
的用法示例。
在下文中一共展示了Response.charset方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: application
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def application(self, environ, start_response):
req_webob = Request(environ)
res_webob = Response()
#addr tuple as glastopf expects it
remote_addr = (req_webob.remote_addr, int(environ["REMOTE_PORT"]))
if "SERVER_NAME" in environ and "SERVER_PORT" in environ:
# we could use socket.gethostbyname to get the ip...
sensor_addr = (environ["SERVER_NAME"], environ["SERVER_PORT"])
else:
sensor_addr = ("", "")
header, body = self.honeypot.handle_request(req_webob.as_text(),
remote_addr, sensor_addr)
for h in header.splitlines():
if ":" in h:
h, v = h.split(":", 1)
res_webob.headers[str(h.strip())] = str(v.strip())
# this will adjust content-length header
res_webob.charset = "utf8"
res_webob.text = body.decode("utf-8", "ignore")
#WSGI applications are not allowed to create or modify hop-by-hop headers
self.remove_hop_by_hop_headers(res_webob.headers)
return res_webob(environ, start_response)
示例2: application
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def application(self, environ, start_response):
req_webob = Request(environ)
res_webob = Response()
#addr tuple as glastopf expects it
remote_addr = (req_webob.remote_addr, int(environ["REMOTE_PORT"]))
if "SERVER_NAME" in environ and "SERVER_PORT" in environ:
# we could use socket.gethostbyname to get the ip...
sensor_addr = (environ["SERVER_NAME"], environ["SERVER_PORT"])
else:
sensor_addr = ("", "")
header, body = self.honeypot.handle_request(req_webob.as_text(),
remote_addr, sensor_addr)
header_list = header.splitlines()
try:
# format: http_version status_code description
res_webob.status_code = int(header_list[0].split()[1])
except ValueError:
# ['User-agent: *', 'Disallow:']
# default 200 OK
pass
for h in header_list:
if ":" in h:
h, v = h.split(":", 1)
res_webob.headers[str(h.strip())] = str(v.strip())
# this will adjust content-length header
res_webob.charset = "utf8"
res_webob.text = body.decode("utf-8", "ignore")
#WSGI applications are not allowed to create or modify hop-by-hop headers
self.remove_hop_by_hop_headers(res_webob.headers)
return res_webob(environ, start_response)
示例3: jresponse
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def jresponse(status,msg,req,status_int,headers=None,statusstr='',param=None):
data = {'status':str(status),'msg':str(msg)}
if param:
data.update(param)
container_list = json.dumps(data)
if headers:
ret = Response(body=container_list, request=req,headers=headers)
else:
ret = Response(body=container_list, request=req)
ret.content_type = 'application/json'
ret.charset = 'utf-8'
ret.status_int = status_int
if statusstr:
ret.status = statusstr
if status != '0' and req.method == 'PUT':
pass
# syslog.syslog(syslog.LOG_ERR,'jresponse: status: ' + str(status_int)+' path: '+str(req.path)+' msg: '+str(msg) + ' tx_id: '+ req.environ.get('swift.trans_id',''))
# print 'jresponse: status: ' + str(status_int)+' path: '+str(req.path)+' msg: '+str(msg) + ' tx_id: '+ req.environ.get('swift.trans_id','') + ' method: '+str(req.method) + ' headers: '+str(req.headers) + ' params: '+str(req.GET)
# traceback.print_stack()
# syslog.syslog(syslog.LOG_ERR,'jresponse: '+str(traceback.extract_stack() ))
# syslog.syslog(syslog.LOG_ERR,'jresponse: '+str(traceback.print_stack() ))
return ret
示例4: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def __call__(self, environ, start_response):
req = Request(environ)
path_info = req.path_info.lstrip('/')
if path_info.startswith('json'):
resp = self.json(req)
elif path_info.startswith('stats'):
resp = Response()
alias = [p for p in path_info.split('/')[1:] if p]
if alias:
alias = '/'.join(alias)
resp.body = self.stats.render(c=get_stats(alias))
elif path_info and path_info != 'new':
resp = self.redirect(req)
elif not path_info and self.redirect_url:
resp = exc.HTTPFound(location=self.redirect_url)
else:
resp = Response()
resp.content_type = 'text/html'
resp.charset = 'utf-8'
if req.GET.get('url'):
# save
alias = req.GET.get('alias')
alias = alias and alias or None
url = req.GET.get('url')
if url:
c = self.add(req, url, alias)
else:
c = Params(error='You must provide an url !')
else:
c = Params(url=req.GET.get('post',''))
c.title = req.params.get('title', '')
c.plugin = req.params.get('p', False)
resp.body = self.index.render(c=c)
return resp(environ, start_response)
示例5: json
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def json(self, req):
resp = Response()
resp.content_type = 'text/javascript'
resp.charset = 'utf-8'
alias = req.params.get('alias')
url = req.params.get('url')
path_info = req.path_info.lstrip('/')
if path_info.startswith('json/stats'):
if alias:
c = get_stats(alias)
else:
c = Params(error='You must provide an alias !')
else:
if url:
c = self.add(req, url, alias)
else:
c = Params(error='You must provide an url !')
callback =req.params.get('callback')
if callback:
callback = str(callback)
arg = req.params.get('arg')
if arg:
resp.body = '%s(%s, %s);' % (callback, json.dumps(arg), json.dumps(c))
else:
resp.body = '%s(%s);' % (callback, json.dumps(c))
else:
resp.body = json.dumps(c)
return resp
示例6: get_version_info
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def get_version_info(self, req, file="version"):
resp = Response()
resp.charset = 'UTF-8'
if utils.is_xml_response(req):
resp_file = os.path.join(POSSIBLE_TOPDIR,
"keystone/content/%s.xml.tpl" % file)
resp.content_type = "application/xml"
elif utils.is_atom_response(req):
resp_file = os.path.join(POSSIBLE_TOPDIR,
"keystone/content/%s.atom.tpl" % file)
resp.content_type = "application/atom+xml"
else:
resp_file = os.path.join(POSSIBLE_TOPDIR,
"keystone/content/%s.json.tpl" % file)
resp.content_type = "application/json"
hostname = req.environ.get("SERVER_NAME")
port = req.environ.get("SERVER_PORT")
if 'HTTPS' in req.environ:
protocol = 'https'
else:
protocol = 'http'
resp.unicode_body = template.template(resp_file,
PROTOCOL=protocol,
HOST=hostname,
PORT=port,
API_VERSION=version.API_VERSION,
API_VERSION_STATUS=version.API_VERSION_STATUS,
API_VERSION_DATE=version.API_VERSION_DATE)
return resp
示例7: _render_atom_feed
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def _render_atom_feed(request, mb, messages):
entries = []
for message in messages:
renderer = _get_atom_renderer(message, request)
if renderer is not None:
entries.append(renderer)
info = MailboxInfo.get(mb)
# absolute url for requested feed
feed_url = request.url
template_info = TemplateContext(request,
{'id': feed_url,
'self_link': feed_url,
'updated': datetime.utcnow(), # XXX
'title': info.title or request.context.get_mailbox_slug(mb.name),
'entries': entries,
})
res = HttpResponse(content_type='application/atom+xml')
res.charset = 'utf-8'
res.unicode_body = request.context.render('radar/atom/atom.xml', template_info)
res.headers['etag'] = get_mailbox_etag(mb)
return res
示例8: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def __call__(self, env, start_response):
res = Response (content_type = 'text/plain', status = 200)
req = Request (env)
url = req.path_info
additional_params = dict(req.params)
additional_params['request'] = req
additional_params['response'] = res
additional_params['method'] = req.method
additional_params['headers'] = req.headers
found = False
for handler in UrlCallableFunction.request_handlers:
result = handler.call_if_matches (url, additional_params)
if result:
found = True
if isinstance (result, str):
res.text = result
elif isinstance (result, dict):
if 'body' in result: res.text = result['body']
if 'charset' in result: res.charset = result['charset']
if 'content_type' in result: res.content_type = result['content_type']
if 'additional_headers' in result: res.headers.update(result['additional_headers'])
if 'status' in result: res.status = result['status']
break
if not found:
res.status = 400
return res (env, start_response)
示例9: make_response
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def make_response(obj, content_type='application/json'):
res = Response(content_type=content_type)
if(content_type=="application/json"):
res.charset = 'utf8'
res.body = dumps(obj)
else:
res.body = obj
return res
示例10: test_charset_set_charset_is_None
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def test_charset_set_charset_is_None():
res = Response()
res.charset = 'utf-8'
res._app_iter = ['123']
del res.app_iter
eq_(res._app_iter, None)
eq_(res._body, None)
eq_(res.content_length, None)
示例11: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def __call__(self, environ, start_response):
res = Response()
res.body = self.body
res.status='500 Internal Error'
res.content_type = 'text/plain'
res.charset = 'utf-8'
res.headers.add('Content-description', 'dods_error')
res.headers.add('XDODS-Server', 'pydap/%s' % '.'.join(map(str, __version__)))
return res(environ, start_response)
示例12: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def __call__(self, environ, start_response):
res = Response()
res.text = text_type(self.body)
res.status = '200 OK'
res.content_type = 'application/json'
res.charset = 'utf-8'
res.headers.add('Content-description', 'dods_version')
res.headers.add('XDODS-Server', 'pydap/%s' % __version__)
return res(environ, start_response)
示例13: challenge
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def challenge(self, environ, status, app_headers, forget_headers):
'''
The challenger.
'''
res = Response()
res.headerlist = [('Content-type', 'application/json')]
res.charset = 'utf8'
res.unicode_body = u"{error:'wrong credentials'}"
res.status = 403
return res
示例14: render_template_to_response
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def render_template_to_response(path, **kw):
""" Render a zope.pagetemplate (ZPT) template at the package-relative path
(may also be absolute) using the kwargs in ``*kw`` as top-level
names and return a Response object. """
result = render_template(path, **kw)
#return Response(result)
response = Response(result)
response.charset = 'utf-8' # Make IE happy
return response
示例15: test_unicode_body
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import charset [as 别名]
def test_unicode_body():
res = Response()
res.charset = 'utf-8'
bbody = 'La Pe\xc3\xb1a' # binary string
ubody = unicode(bbody, 'utf-8') # unicode string
res.body = bbody
eq_(res.unicode_body, ubody)
res.ubody = ubody
eq_(res.body, bbody)
del res.ubody
eq_(res.body, '')