本文整理汇总了Python中raven.utils.wsgi.get_headers函数的典型用法代码示例。如果您正苦于以下问题:Python get_headers函数的具体用法?Python get_headers怎么用?Python get_headers使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_headers函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_data_from_request
def get_data_from_request(request):
urlparts = urlparse.urlsplit(request.url)
try:
formdata = request.form
except ClientDisconnected:
formdata = {}
data = {
'sentry.interfaces.Http': {
'url': '%s://%s%s' % (urlparts.scheme, urlparts.netloc, urlparts.path),
'query_string': urlparts.query,
'method': request.method,
'data': formdata,
'headers': dict(get_headers(request.environ)),
'env': dict(get_environ(request.environ)),
}
}
try:
user_data = get_user_info(request)
except Exception as e:
logger.exception(e)
else:
if user_data:
data['sentry.interfaces.User'] = user_data
return data
示例2: __call__
def __call__(self, request, response, obj, error_info,
short_message, full_traceback, extra):
raven_data = {
'message': "".join(short_message),
'sentry.interfaces.Http': {
'url': request.get('URL', 'n/a'),
'method': request.environ.get('REQUEST_METHOD', 'n/a'),
'query_string': request.environ.get('QUERY_STRING', 'n/a'),
'headers': dict(wsgi_utils.get_headers(request.environ)),
'env': dict(wsgi_utils.get_environ(request.environ))
}}
raven_extra = {
'User': request.get('AUTHENTICATED_USER', 'n/a') or 'n/a'}
if obj is not None:
raven_extra.update({
'Object Class': object_name(obj),
'Object Name': object_path(obj),
})
if extra is not None:
raven_extra.update({
'Extra Information': extra
})
self.client.captureException(
exc_info=error_info, data=raven_data, extra=raven_extra)
示例3: get_data_from_request
def get_data_from_request(self, request):
if request.method == 'POST':
try:
data = request.raw_post_data and request.raw_post_data or request.POST
except Exception:
# assume we had a partial read:
data = '<unavailable>'
else:
data = dict(request.REQUEST.items())
environ = request.META
result = {
'sentry.interfaces.Http': {
'method': request.method,
'url': request.build_absolute_uri(),
'query_string': request.META.get('QUERY_STRING'),
'data': data,
'cookies': dict(request.COOKIES),
'headers': dict(get_headers(environ)),
'env': dict(get_environ(environ)),
}
}
if hasattr(request, 'user'):
result['sentry.interfaces.User'] = self.get_user_info(request)
return result
示例4: get_data_from_request
def get_data_from_request(self, request):
from django.contrib.auth.models import User, AnonymousUser
if request.method != "GET":
if hasattr(request, "body"):
data = request.body
else:
try:
data = request.raw_post_data and request.raw_post_data or request.POST
except Exception:
# assume we had a partial read:
data = "<unavailable>"
else:
data = None
environ = request.META
result = {
"sentry.interfaces.Http": {
"method": request.method,
"url": request.build_absolute_uri(),
"query_string": request.META.get("QUERY_STRING"),
"data": data,
"cookies": dict(request.COOKIES),
"headers": dict(get_headers(environ)),
"env": dict(get_environ(environ)),
}
}
if hasattr(request, "user") and isinstance(request.user, (User, AnonymousUser)):
result["sentry.interfaces.User"] = self.get_user_info(request)
return result
示例5: handle_slow_request
def handle_slow_request(self, environ, dt):
headers = dict(get_headers(environ))
if 'Authorization' in headers:
headers['Authorization'] = 'redacted'
if 'Cookie' in headers:
headers['Cookie'] = 'redacted'
cak = environ.get('controller_action_key', None) or environ.get('PATH_INFO', "NOPATH").strip('/').replace('/', '.')
event_id = self.client.captureMessage(
"SLOREQ: %s" % cak,
data={
'sentry.interfaces.Http': {
'method': environ.get('REQUEST_METHOD'),
'url': get_current_url(environ, strip_querystring=True),
'query_string': environ.get('QUERY_STRING'),
'headers': headers,
'env': dict(get_environ(environ)),
}
},
extra={
'request_id': environ.get('request_id', 'Unknown'),
'request_duration_millis': dt * 1000
},
level="warning",
tags={
'type': 'sloreq',
'action_key': cak
}
)
# Galaxy: store event_id in environment so we can show it to the user
environ['sentry_event_id'] = event_id
return event_id
示例6: get_data_from_request
def get_data_from_request(self, request):
from django.contrib.auth.models import User, AnonymousUser
if request.method != 'GET':
try:
data = request.raw_post_data and request.raw_post_data or request.POST
except Exception:
# assume we had a partial read:
data = '<unavailable>'
else:
data = None
environ = request.META
result = {
'sentry.interfaces.Http': {
'method': request.method,
'url': request.build_absolute_uri(),
'query_string': request.META.get('QUERY_STRING'),
'data': data,
'cookies': dict(request.COOKIES),
'headers': dict(get_headers(environ)),
'env': dict(get_environ(environ)),
}
}
if hasattr(request, 'user') and isinstance(request.user, (User, AnonymousUser)):
result['sentry.interfaces.User'] = self.get_user_info(request)
return result
示例7: get_data_from_request
def get_data_from_request(self, request):
try:
from django.contrib.auth.models import AbstractBaseUser as BaseUser
except ImportError:
from django.contrib.auth.models import User as BaseUser # NOQA
except RuntimeError:
# If the contenttype / user applications are not installed trying to
# import the user models will fail for django >= 1.9.
BaseUser = None
result = {}
if BaseUser and hasattr(request, 'user') and isinstance(request.user, BaseUser):
result['user'] = self.get_user_info(request.user)
try:
uri = request.build_absolute_uri()
except SuspiciousOperation:
# attempt to build a URL for reporting as Django won't allow us to
# use get_host()
if request.is_secure():
scheme = 'https'
else:
scheme = 'http'
host = get_host(request)
uri = '%s://%s%s' % (scheme, host, request.path)
if request.method not in ('GET', 'HEAD'):
try:
data = request.body
except Exception:
try:
data = request.raw_post_data
except Exception:
# assume we had a partial read.
try:
data = request.POST or '<unavailable>'
except Exception:
data = '<unavailable>'
else:
data = None
environ = request.META
result.update({
'request': {
'method': request.method,
'url': uri,
'query_string': request.META.get('QUERY_STRING'),
'data': data,
'cookies': dict(request.COOKIES),
'headers': dict(get_headers(environ)),
'env': dict(get_environ(environ)),
}
})
return result
示例8: _get_http_context
def _get_http_context(self, record, request):
urlparts = _urlparse.urlsplit(request.url)
return {
"url": "%s://%s%s" % (urlparts.scheme, urlparts.netloc, urlparts.path),
"query_string": urlparts.query,
"method": request.method,
"data": self._get_http_request_data(request),
"headers": dict(get_headers(request.environ)),
"env": dict(get_environ(request.environ)),
}
示例9: get_http_context
def get_http_context(self, environ):
return {
"method": environ.get("REQUEST_METHOD"),
"url": get_current_url(environ, strip_querystring=True),
"query_string": environ.get("QUERY_STRING"),
# TODO
# 'data': environ.get('wsgi.input'),
"headers": dict(get_headers(environ)),
"env": dict(get_environ(environ)),
}
示例10: get_data_from_request
def get_data_from_request(self, request):
try:
from django.contrib.auth.models import AbstractBaseUser as BaseUser
except ImportError:
from django.contrib.auth.models import User as BaseUser # NOQA
result = {}
if hasattr(request, "user") and isinstance(request.user, BaseUser):
result["user"] = self.get_user_info(request.user)
try:
uri = request.build_absolute_uri()
except SuspiciousOperation:
# attempt to build a URL for reporting as Django won't allow us to
# use get_host()
if request.is_secure():
scheme = "https"
else:
scheme = "http"
host = get_host(request)
uri = "%s://%s%s" % (scheme, host, request.path)
if request.method != "GET":
try:
data = request.body
except Exception:
try:
data = request.raw_post_data
except Exception:
# assume we had a partial read.
try:
data = request.POST or "<unavailable>"
except Exception:
data = "<unavailable>"
else:
data = None
environ = request.META
result.update(
{
"request": {
"method": request.method,
"url": uri,
"query_string": request.META.get("QUERY_STRING"),
"data": data,
"cookies": dict(request.COOKIES),
"headers": dict(get_headers(environ)),
"env": dict(get_environ(environ)),
}
}
)
return result
示例11: get_data_from_request
def get_data_from_request():
"""Returns request data extracted from web.ctx."""
return {
'sentry.interfaces.Http': {
'url': '%s://%s%s' % (web.ctx['protocol'], web.ctx['host'], web.ctx['path']),
'query_string': web.ctx.query,
'method': web.ctx.method,
'data': web.data(),
'headers': dict(get_headers(web.ctx.environ)),
'env': dict(get_environ(web.ctx.environ)),
}
}
示例12: get_data_from_request
def get_data_from_request(request):
urlparts = urlparse.urlsplit(request.url)
return {
'sentry.interfaces.Http': {
'url': '%s://%s%s' % (urlparts.scheme, urlparts.netloc, urlparts.path),
'query_string': urlparts.query,
'method': request.method,
'data': request.form,
'headers': dict(get_headers(request.environ)),
'env': dict(get_environ(request.environ)),
}
}
示例13: handle_exception
def handle_exception(self, environ):
event_id = self.client.captureException(
data={
'sentry.interfaces.Http': {
'method': environ.get('REQUEST_METHOD'),
'url': get_current_url(environ, strip_querystring=True),
'query_string': environ.get('QUERY_STRING'),
'headers': self.cleanup_headers(dict(get_headers(environ))),
'env': dict(get_environ(environ)),
}
},
)
return event_id
示例14: get_data_from_request
def get_data_from_request(request):
urlparts = urlparse.urlsplit(request.url)
return {
"sentry.interfaces.Http": {
"url": "%s://%s%s" % (urlparts.scheme, urlparts.netloc, urlparts.path),
"query_string": urlparts.query,
"method": request.method,
"data": request.form or request.args,
"headers": dict(get_headers(request.environ)),
"env": dict(get_environ(request.environ)),
}
}
示例15: get_request_info
def get_request_info(request):
'''
Returns context data extracted from :param:`request`.
Heavily based on flask integration for Sentry: https://git.io/vP4i9.
'''
urlparts = _urlparse.urlsplit(request.url)
return {
'url': '%s://%s%s' % (urlparts.scheme, urlparts.netloc, urlparts.path),
'query_string': urlparts.query,
'method': request.method,
'headers': dict(get_headers(request.environ)),
'env': dict(get_environ(request.environ)),
}