当前位置: 首页>>代码示例>>Python>>正文


Python wsgi.get_environ函数代码示例

本文整理汇总了Python中raven.utils.wsgi.get_environ函数的典型用法代码示例。如果您正苦于以下问题:Python get_environ函数的具体用法?Python get_environ怎么用?Python get_environ使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了get_environ函数的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
开发者ID:Acidburn0zzz,项目名称:airmozilla,代码行数:27,代码来源:utils.py

示例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)
开发者ID:infrae,项目名称:infrae.wsgi,代码行数:25,代码来源:ravenplugin.py

示例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
开发者ID:Kronuz,项目名称:raven,代码行数:28,代码来源:__init__.py

示例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
开发者ID:GabiThume,项目名称:verbatim,代码行数:33,代码来源:client.py

示例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
开发者ID:ImmPortDB,项目名称:immport-galaxy,代码行数:32,代码来源:sentry.py

示例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
开发者ID:futurecolors,项目名称:raven-python,代码行数:30,代码来源:client.py

示例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
开发者ID:zenefits,项目名称:raven-python,代码行数:57,代码来源:client.py

示例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)),
     }
开发者ID:merchise-autrement,项目名称:xoeuf,代码行数:10,代码来源:_sentrylog.py

示例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)),
     }
开发者ID:CGenie,项目名称:raven-python,代码行数:10,代码来源:middleware.py

示例10: http_context_data

def http_context_data(request):
    return {
        'url': request.url,
        'method': request.method,
        'data': request.body,
        'query_string': request.query_string,
        'cookies': dict(request.cookies),
        'headers': dict(request.headers),
        'env': dict(get_environ(request.environ)),
    }
开发者ID:chinmaygghag,项目名称:h,代码行数:10,代码来源:sentry.py

示例11: 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
开发者ID:Precis,项目名称:raven-python,代码行数:55,代码来源:client.py

示例12: 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)),
        }
    }
开发者ID:Agnesa,项目名称:raven-python,代码行数:12,代码来源:utils.py

示例13: 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)),
        }
    }
开发者ID:DazWorrall,项目名称:raven-python,代码行数:13,代码来源:utils.py

示例14: 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
开发者ID:getpenelope,项目名称:penelope.core,代码行数:13,代码来源:ravenlog.py

示例15: 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)),
        }
    }
开发者ID:Kronuz,项目名称:raven,代码行数:13,代码来源:utils.py


注:本文中的raven.utils.wsgi.get_environ函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。