• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python wsgi.get_environ函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



在下文中一共展示了get_environ函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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


示例16: 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['sentry.interfaces.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:
                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.update({
            'sentry.interfaces.Http': {
                '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:1Anastaska,项目名称:raven-python,代码行数:50,代码来源:client.py


示例17: 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)),
    }
开发者ID:HBEE,项目名称:odoo_sentry,代码行数:14,代码来源:logutils.py


示例18: request2crashreporting

def request2crashreporting(request):
    """
    Transform django/wsgi request object to a dict the crash reporting
    can understand.
    """
    data = {}
    # Pieces grabbed from raven.contrib.django.client
    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)

    rdata = None
    if request.method not in ('GET', 'HEAD'):
        try:
            rdata = request.body
        except Exception:
            try:
                rdata = request.raw_post_data
            except Exception:
                # assume we had a partial read.
                try:
                    rdata = request.POST or '<unavailable>'
                except Exception:
                    rdata = '<unavailable>'
                else:
                    if isinstance(rdata, MultiValueDict):
                        rdata = dict(
                            (k, v[0] if len(v) == 1 else v)
                            for k, v in iter(rdata.lists()))


    data['request'] = {
        'method': request.method,
        'url': uri,
        'query_string': request.META.get('QUERY_STRING'),
        'data': rdata,
        'cookies': dict(request.COOKIES),
        'headers': dict(get_headers(request.META)),
        'env': dict(get_environ(request.META)),
    }
    return data
开发者ID:binzyw,项目名称:freenas,代码行数:49,代码来源:utils.py


示例19: 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"),
                 # TODO
                 # 'data': environ.get('wsgi.input'),
                 "headers": dict(get_headers(environ)),
                 "env": dict(get_environ(environ)),
             }
         }
     )
     return event_id
开发者ID:flupke,项目名称:raven,代码行数:15,代码来源:middleware.py


示例20: get_http_info

    def get_http_info(self, request):
        urlparts = _urlparse.urlsplit(request.url)

        try:
            formdata = request.form
        except ClientDisconnected:
            formdata = {}

        return {
            '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)),
        }
开发者ID:swiftstack,项目名称:raven-python,代码行数:16,代码来源:flask.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python wsgi.get_headers函数代码示例发布时间:2022-05-26
下一篇:
Python urlparse.urlparse函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap