/opt/cloudlinux/venv/lib/python3.11/site-packages/raven/contrib/__pycache__
NameSizeModeActions
async.cpython-311.pyc20610644editdlrm
flask.cpython-311.pyc143600644editdlrm
paste.cpython-311.pyc8470644editdlrm
sanic.cpython-311.pyc103220644editdlrm
__init__.cpython-311.pyc4550644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/raven/contrib/__pycache__/sanic.cpython-311.pyc (10322B)
§ SQ+´Þ†YãóÚ—dZddlmZddlZddlZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZej¦«Ze d ¦«Zdd „ZGd „d e¦«ZdS)z£ raven.contrib.sanic ~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2010-2018 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. é)Úabsolute_importN)Ú setup_logging)ÚClient)Ú SentryHandler)Úurlparse)Ú to_unicode)Úconvert_optionsÚlogging_configuredcó¾—|dit|j|t|j dg¦«¦«t|jg¦«zd|idœ¬¦«¤ŽS)NÚSENTRY_INCLUDE_PATHSÚapp)ÚdsnÚ include_pathsÚextra)Údefaults©)r ÚconfigÚsetÚgetÚname)Ú client_clsr rs úe/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/raven/contrib/sanic.pyÚ make_clientrs~€Ø ˆ:ð ð Ý Ø ŒJà嘜 ŸšÐ'=¸rÑBÔBÑCÔCݘ3œ8˜*‘o”oñ&ð˜3ðð ð ð ñ ô ð ð ðócó�—eZdZdZdedddejfd„Zd„Zd„Z d„Z d„Z d „Z d „Z dd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„ZdS)ÚSentryaj Sanic application for Sentry. Look up configuration from ``os.environ['SENTRY_DSN']``:: >>> sentry = Sentry(app) Pass an arbitrary DSN:: >>> sentry = Sentry(app, dsn='http://public:secret@example.com/1') Pass an explicit client:: >>> sentry = Sentry(app, client=client) Automatically configure logging:: >>> sentry = Sentry(app, logging=True, level=logging.ERROR) Capture an exception:: >>> try: >>> 1 / 0 >>> except ZeroDivisionError: >>> sentry.captureException() Capture a message:: >>> sentry.captureMessage('hello, world!') NFcóЗ|r$t|t¦«std¦«‚||_||_||_||_||_||_|  |¦«dS)Nz&client should be an instance of Client) Ú isinstancerÚ TypeErrorÚclientrrÚloggingÚlogging_exclusionsÚlevelÚinit_app)Úselfr r rrr!r"r#s rÚ__init__zSentry.__init__Mso€à ð F�* V­VÑ4Ô4ð FÝÐDÑEÔEÐ EàˆŒ Ø$ˆŒØˆŒØˆŒ Ø"4ˆÔ؈Œ Ø � Š �cÑÔÐÐÐrcóV—|jsdS |j | |¦«¦«nC#t$r6}|jj t |¦«¦«Yd}~nd}~wwxYwt|¦«||jf}|  |¬¦«dS)N)Úexc_info) r Ú http_contextÚ get_http_infoÚ ExceptionÚloggerÚ exceptionrÚtypeÚ __traceback__ÚcaptureException)r%Úrequestr-ÚeÚexception_infos rÚhandle_exceptionzSentry.handle_exceptionZs¾€ØŒ{ð Ø ˆFð 8Ø ŒK× $Ò $ T×%7Ò%7¸Ñ%@Ô%@Ñ AÔ AÐ AÐ AøÝð 8ð 8ð 8Ø ŒKÔ × (Ò (­°A©¬Ñ 7Ô 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7øøøøð 8øøøõ ˜y™/œ/¨9°iÔ6MÐNˆØ ×Ò ~ÐÑ6Ô6Ð6Ð6Ð6s‹-9¹ A9Á,A4Á4A9có—|jS©N)Úform©r%r1s rÚ get_form_datazSentry.get_form_datagó €ØŒ|Ðrcóv—| |¦«r|j}n|j}| ||¦«S)zR Determine how to retrieve actual data by using request.mimetype. )Ú is_json_typeÚ get_json_datar9Úget_http_info_with_retriever)r%r1Ú retrievers rr*zSentry.get_http_infojsB€ð × Ò ˜WÑ %Ô %ð +ØÔ*ˆIˆIàÔ*ˆIØ×0Ò0°¸)ÑDÔDÐDrcó—|jSr6)Újsonr8s rr=zSentry.get_json_datatr:rcó—tj|j¦«} ||¦«}n#t$ri}YnwxYwd |j|j|j¦«|j|j ||j |j d|j idœS)zT Exact method for getting http_info but with form data work around. z {0}://{1}{2}Ú REMOTE_ADDR)ÚurlÚ query_stringÚmethodÚdataÚcookiesÚheadersÚenv) rÚurlsplitrDr+ÚformatÚschemeÚnetlocÚpathÚqueryrFrHrIÚ remote_addr)r%r1r?ÚurlpartsrGs rr>z#Sentry.get_http_info_with_retrieverws§€õÔ$ W¤[Ñ1Ô1ˆð Ø�9˜WÑ%Ô%ˆDˆDøÝð ð ð ØˆDˆDˆDð øøøð"×(Ò(Ø” ¤°(´-ñAôAà$œNØ”nØØ”Ø”à˜wÔ2ðð  ð  ð s › '§ 6µ6cóB—|j d¦«}|dkS)Nz content-typezapplication/json)rIr)r%r1Ú content_types rr<zSentry.is_json_type�s#€Ø”×*Ò*¨>Ñ:Ô:ˆ ØÐ1Ò1Ð1rcó^—|�||_|�||_|�||_|€d|_n||_|js t |j||j¦«|_|jrTi}|j� |j|d<t|j|j¬¦«}t|fi|¤Žtj |fdti|¤Žt|d¦«si|_ ||j d<|j  t|j¦«| |jd¬¦«| |jd ¬¦«dS) N)Úrootz sanic.accessz sanic.errorÚexclude)r#Úsentry_handlerÚ extensionsÚsentryr1)Ú attach_toÚresponse)rr#r!r"r rrrrr ÚsendÚhasattrrYÚ error_handlerÚaddr+r4Úregister_middlewareÚbefore_requestÚ after_request)r%r rr!r#r"ÚkwargsÚhandlers rr$zSentry.init_app“sf€à ˆ?؈DŒHà Р؈DŒJà Ð Ø"ˆDŒLà Ð %ð'7ˆDÔ #Ð #ð'9ˆDÔ #àŒ{ð FÝ% d¤o°s¸D¼HÑEÔEˆDŒKà Œ<ð >؈FØÔ&Ð2Ø$(Ô$;��yÑ!Ý# D¤K°t´zÐBÑBÔBˆGÝ ˜'Ð ,Ð , VÐ ,Ð ,Ð ,Ý Ô #Øð >ð >Ý%2ð >Ø6<ð >ð >ð >õ�s˜LÑ)Ô)ð ØˆCŒNØ#'ˆŒ�xÑ à Ô×Ò�i¨Ô)>Ñ?Ô?Ð?Ø ×Ò Ô 3¸yÐÑIÔIÐIØ ×Ò Ô 2¸jÐÑIÔIÐIÐIÐIrcóø—d|_ |j | |¦«¦«dS#t$r7}|jj t|¦«¦«Yd}~dSd}~wwxYwr6)Ú last_event_idr r)r*r+r,r-r)r%r1r2s rrbzSentry.before_request¸s‰€Ø!ˆÔð 8Ø ŒK× $Ò $ T×%7Ò%7¸Ñ%@Ô%@Ñ AÔ AÐ AÐ AÐ AøÝð 8ð 8ð 8Ø ŒKÔ × (Ò (­°A©¬Ñ 7Ô 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7øøøøð 8øøøs‰-8¸ A9Á,A4Á4A9cón—|jr|j|jd<|jj ¦«dS)Nz X-Sentry-ID)rgrIr ÚcontextÚclear)r%r1r\s rrczSentry.after_request¿s;€Ø Ô ð AØ.2Ô.@ˆHÔ ˜]Ñ +Ø Œ Ô×!Ò!Ñ#Ô#Ð#Ð#Ð#rcóv—|js Jd¦«‚|jj|i|¤Ž}| |¦«|S)Nz5captureException called before application configured)r r0Úset_last_event_id_from_result©r%ÚargsrdÚresults rr0zSentry.captureExceptionÄsJ€ØŒ{ÐSÐSÐSÑSÔSˆ{Ø-�”Ô-¨tÐ>°vÐ>Ð>ˆØ ×*Ò*¨6Ñ2Ô2Ð2؈ rcóv—|js Jd¦«‚|jj|i|¤Ž}| |¦«|S)Nz3captureMessage called before application configured)r ÚcaptureMessagerlrms rrqzSentry.captureMessageÊsJ€ØŒ{ÐQÐQÐQÑQÔQˆ{Ø+�”Ô+¨TÐ<°VÐ<Ð<ˆØ ×*Ò*¨6Ñ2Ô2Ð2؈ rcóZ—|r!|j |¦«|_dSd|_dSr6)r Ú get_identrg)r%ros rrlz$Sentry.set_last_event_id_from_resultÐs6€Ø ð &Ø!%¤×!6Ò!6°vÑ!>Ô!>ˆDÔ Ð Ð à!%ˆDÔ Ð Ð rcóH—|js Jd¦«‚|jj|i|¤ŽS)Nz1user_context called before application configured)r Ú user_context©r%rnrds rruzSentry.user_contextÖó2€ØŒ{ÐOÐOÐOÑOÔOˆ{Ø'ˆtŒ{Ô'¨Ð8°Ð8Ð8Ð8rcóH—|js Jd¦«‚|jj|i|¤ŽS)Nz1tags_context called before application configured)r Ú tags_contextrvs rryzSentry.tags_contextÚrwrcóH—|js Jd¦«‚|jj|i|¤ŽS)Nz2extra_context called before application configured)r Ú extra_contextrvs rr{zSentry.extra_contextÞs2€ØŒ{ÐPÐPÐPÑPÔPˆ{Ø(ˆtŒ{Ô(¨$Ð9°&Ð9Ð9Ð9r)NNNN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rr!ÚNOTSETr&r4r9r*r=r>r<r$rbrcr0rqrlruryr{rrrrr-s:€€€€€ððð>$(°FÀذ4¸w¼~ð ð ð ð ð 7ð 7ð 7ððððEðEðEðððð ð ð ð02ð2ð2ð;?Ø$(ð#Jð#Jð#Jð#JðJ8ð8ð8ð$ð$ð$ð ððð ððð &ð&ð&ð 9ð9ð9ð9ð9ð9ð:ð:ð:ð:ð:rrr6)rÚ __future__rr!ÚblinkerÚ raven.confrÚ raven.baserÚraven.handlers.loggingrÚraven.utils.compatrÚraven.utils.encodingrÚraven.utils.confr Ú NamespaceÚ raven_signalsÚsignalr rÚobjectrrrrúr�sðððð'Ð&Ð&Ð&Ð&Ð&à€€€à€€€à$Ð$Ð$Ð$Ð$Ð$ØÐÐÐÐÐØ0Ð0Ð0Ð0Ð0Ð0Ø'Ð'Ð'Ð'Ð'Ð'Ø+Ð+Ð+Ð+Ð+Ð+Ø,Ð,Ð,Ð,Ð,Ð,ð"�Ô!Ñ#Ô#€ Ø"×)Ò)Ð*>Ñ?Ô?Ðððððð$s:ðs:ðs:ðs:ðs:ˆVñs:ôs:ðs:ðs:ðs:r