관리-도구
편집 파일: views.pyc
� ��Yc @@ s d Z d d l m Z d d l m Z d d l m Z d d l m Z m Z m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d � Z d � Z d � Z e e d d d g � e e d d � � � � � Z d S( s� raven.contrib.django.views ~~~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. i ( t absolute_import( t wraps( t settings( t HttpResponset HttpResponseForbiddent HttpResponseBadRequest( t never_cache( t csrf_exempt( t require_http_methods( t string_types( t client( t jsonc C@ s� t j s t St j d k r t S| s* t S| j � } xL t j D]A } t | t � rn | j � | k r� t Sq@ | j | � r@ t Sq@ Wt S( Nt *( R t SENTRY_ALLOW_ORIGINt Falset Truet lowert isinstanceR t match( t origint value( ( sK /opt/alt/python27/lib/python2.7/site-packages/raven/contrib/django/views.pyt is_valid_origin s c @ s t � � � f d � � } | S( Nc @ sO | j j d � } t | � s% t � S� | | | � } | | d <d | d <| S( Nt HTTP_ORIGINs Access-Control-Allow-Origins GET, POST, OPTIONSs Access-Control-Allow-Methods( t METAt getR R ( t requestt argst kwargsR t response( t func( sK /opt/alt/python27/lib/python2.7/site-packages/raven/contrib/django/views.pyt wrapped. s ( R ( R R ( ( R sK /opt/alt/python27/lib/python2.7/site-packages/raven/contrib/django/views.pyt with_origin- s c C@ s� | j j d d � j d � r) | j d S| j j d d � j d � rR | j d Sg | j j � D]3 } | d j d � rb | d d k rb d | ^ qb } | r� d d j | � Sd S( sy raven-js will pass both Authorization and X-Sentry-Auth depending on the browser and server configurations. t HTTP_X_SENTRY_AUTHt t Sentryt HTTP_AUTHORIZATIONi t sentry_t sentry_datas %s=%ss Sentry %ss , N( R R t startswitht GETt itemst joint None( R t iR ( ( sK /opt/alt/python27/lib/python2.7/site-packages/raven/contrib/django/views.pyt extract_auth_vars= s 3R'