3 ,î[Åã@sbdZddlmZmZddlZddlZddlmZmZm Z m Z ej e ƒZ Gdd„deƒZdd „ZdS) zš oauthlib.oauth2.rfc6749 ~~~~~~~~~~~~~~~~~~~~~~~ This module is an implementation of various logic needed for consuming and providing OAuth 2.0 RFC6749. é)Úabsolute_importÚunicode_literalsNé)ÚFatalClientErrorÚ OAuth2ErrorÚ ServerErrorÚTemporarilyUnavailableErrorc@sHeZdZdd„Zedd„ƒZejdd„ƒZedd„ƒZejdd„ƒZd S) Ú BaseEndpointcCsd|_d|_dS)NTF)Ú _availableÚ _catch_errors)Úself©r ú/usr/lib/python3.6/base.pyÚ__init__szBaseEndpoint.__init__cCs|jS)N)r )r r r rÚ availableszBaseEndpoint.availablecCs ||_dS)N)r )r rr r rrscCs|jS)N)r )r r r rÚ catch_errors"szBaseEndpoint.catch_errorscCs ||_dS)N)r )r rr r rr&sN)Ú__name__Ú __module__Ú __qualname__rÚpropertyrÚsetterrr r r rr s   r cstjˆƒ‡fdd„ƒ}|S)Ncs¼|js&tƒ}tjd|ƒi|jdfS|jr¦yˆ||f|ž|ŽStk rT‚Yq¸tk rh‚Yq¸tk r¢}z t ƒ}tj d|ƒi|jdfSd}~Xq¸Xnˆ||f|ž|ŽSdS)Nz*Endpoint unavailable, ignoring request %s.i÷z.Exception caught while processing request, %s.iô) rrÚlogÚinfoZjsonrrrÚ ExceptionrZwarning)ZendpointZuriÚargsÚkwargsÚeÚerror)Úfr rÚwrapper,s"  z0catch_errors_and_unavailability..wrapper)Ú functoolsÚwraps)rrr )rrÚcatch_errors_and_unavailability+sr")Ú__doc__Z __future__rrr ZloggingÚerrorsrrrrZ getLoggerrrÚobjectr r"r r r rÚs