Example #1
0
    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
Example #2
0
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 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)),
        }
    }
Example #4
0
 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
Example #6
0
    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
Example #7
0
 def test_hides_wsgi_input(self):
     result = list(get_environ({'wsgi.input': 'foo'}))
     self.assertNotIn('wsgi.input', result)
Example #8
0
 def test_has_server_port(self):
     result = dict(get_environ({'SERVER_PORT': 80}))
     self.assertIn('SERVER_PORT', result)
     self.assertEquals(result['SERVER_PORT'], 80)
Example #9
0
 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')
Example #10
0
 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')
Example #11
0
    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
Example #12
0
    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
Example #13
0
    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