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 = { '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['user'] = self.get_user_info(request) return result
def get_data_from_request(request): urlparts = urlparse.urlsplit(request.url) return { '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)), } }
def handle_exception(self, exc_info, environ): event_id = self.client.capture( 'Exception', exc_info=exc_info, data={ 'http': { '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)), } }) return event_id
def handle_exception(self, exc_info, environ): event_id = self.client.capture('Exception', exc_info=exc_info, data={ 'http': { '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)), } } ) return event_id
def get_data_from_request(self, request): django_auth_installed = is_app_installed('django.contrib.auth') if django_auth_installed: from django.contrib.auth.models import AnonymousUser try: # try to import User via get_user_model (Django 1.5+) from django.contrib.auth import get_user_model User = get_user_model() except ImportError: # import the User model from the standard location (Django <1.5) from django.contrib.auth.models import User if request.method != 'GET': try: if hasattr(request, 'body'): # Django 1.4+ raw_data = request.body else: raw_data = request.raw_post_data data = raw_data if raw_data else request.POST except Exception: # assume we had a partial read: data = '<unavailable>' else: data = None environ = request.META result = { '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 django_auth_installed and \ hasattr(request, 'user') and \ isinstance(request.user, (User, AnonymousUser)): result['user'] = self.get_user_info(request) return result
def test_hides_wsgi_input(self): result = list(get_environ({'wsgi.input': 'foo'})) self.assertNotIn('wsgi.input', result)
def test_has_server_port(self): result = dict(get_environ({'SERVER_PORT': 80})) self.assertIn('SERVER_PORT', result) self.assertEquals(result['SERVER_PORT'], 80)
def test_has_server_name(self): result = dict(get_environ({'SERVER_NAME': '127.0.0.1'})) self.assertIn('SERVER_NAME', result) self.assertEquals(result['SERVER_NAME'], '127.0.0.1')
def test_has_remote_addr(self): result = dict(get_environ({'REMOTE_ADDR': '127.0.0.1'})) self.assertIn('REMOTE_ADDR', result) self.assertEquals(result['REMOTE_ADDR'], '127.0.0.1')
def get_data_from_request(self, request): django_auth_installed = is_app_installed('django.contrib.auth') if django_auth_installed: from django.contrib.auth.models import AnonymousUser try: # try to import User via get_user_model (Django 1.5+) from django.contrib.auth import get_user_model User = get_user_model() except ImportError: # import the User model from the standard location (Django <1.5) from django.contrib.auth.models import User if request.method != 'GET': try: if hasattr(request, 'body'): # Django 1.4+ raw_data = request.body else: raw_data = request.raw_post_data data = raw_data if raw_data else request.POST except Exception: # assume we had a partial read: data = '<unavailable>' else: data = None environ = request.META if hasattr(request, 'get_raw_uri'): # added in Django 1.9 url = request.get_raw_uri() else: try: # Requires host to be in ALLOWED_HOSTS, might throw a # DisallowedHost exception url = request.build_absolute_uri() except SuspiciousOperation: # catching SuspiciousOperation, as the more specific # DisallowedHost has only been introduced in Django 1.6. # We can't figure out the real URL, so we have to set it to # None url = None result = { 'http': { 'method': request.method, 'url': url, 'query_string': request.META.get('QUERY_STRING'), 'data': data, 'cookies': dict(request.COOKIES), 'headers': dict(get_headers(environ)), 'env': dict(get_environ(environ)), } } if django_auth_installed and \ hasattr(request, 'user') and \ isinstance(request.user, (User, AnonymousUser)): result['user'] = self.get_user_info(request) return result
def get_data_from_request(self, request): django_auth_installed = is_app_installed("django.contrib.auth") if django_auth_installed: from django.contrib.auth.models import AnonymousUser try: # try to import User via get_user_model (Django 1.5+) from django.contrib.auth import get_user_model User = get_user_model() except ImportError: # import the User model from the standard location (Django <1.5) from django.contrib.auth.models import User if request.method != "GET": try: if hasattr(request, "body"): # Django 1.4+ raw_data = request.body else: raw_data = request.raw_post_data data = raw_data if raw_data else request.POST except Exception: # assume we had a partial read: data = "<unavailable>" else: data = None environ = request.META if hasattr(request, "get_raw_uri"): # added in Django 1.9 url = request.get_raw_uri() else: try: # Requires host to be in ALLOWED_HOSTS, might throw a # DisallowedHost exception url = request.build_absolute_uri() except SuspiciousOperation: # catching SuspiciousOperation, as the more specific # DisallowedHost has only been introduced in Django 1.6. # We can't figure out the real URL, so we have to set it to # None url = None result = { "http": { "method": request.method, "url": url, "query_string": request.META.get("QUERY_STRING"), "data": data, "cookies": dict(request.COOKIES), "headers": dict(get_headers(environ)), "env": dict(get_environ(environ)), } } if django_auth_installed and hasattr(request, "user") and isinstance(request.user, (User, AnonymousUser)): result["user"] = self.get_user_info(request) return result