
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
,î[Å  ã               @   sb   d Z ddlmZmZ ddlZddlZddlmZmZm	Z	m
Z
 ejeƒZG dd„ deƒZdd	„ ZdS )
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               @   sH   e Zd Zdd„ Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZd	S )
ÚBaseEndpointc             C   s   d| _ d| _d S )NTF)Ú
_availableÚ_catch_errors)Úself© r   ú/usr/lib/python3.6/base.pyÚ__init__   s    zBaseEndpoint.__init__c             C   s   | j S )N)r
   )r   r   r   r   Ú	available   s    zBaseEndpoint.availablec             C   s
   || _ d S )N)r
   )r   r   r   r   r   r      s    c             C   s   | j S )N)r   )r   r   r   r   Úcatch_errors"   s    zBaseEndpoint.catch_errorsc             C   s
   || _ d S )N)r   )r   r   r   r   r   r   &   s    N)Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   Úsetterr   r   r   r   r   r	      s
   r	   c                s   t jˆ ƒ‡ fdd„ƒ}|S )Nc                s¼   | j s&tƒ }tjd| ƒ i |jdfS | jr¦yˆ | |f|ž|ŽS  tk
rT   ‚ Y q¸ tk
rh   ‚ Y q¸ tk
r¢ } z t	ƒ }tj
d| ƒ i |jdfS d }~X q¸X nˆ | |f|ž|ŽS d S )Nz*Endpoint unavailable, ignoring request %s.i÷  z.Exception caught while processing request, %s.iô  )r   r   ÚlogÚinfoZjsonr   r   r   Ú	Exceptionr   Zwarning)ZendpointZuriÚargsÚkwargsÚeÚerror)Úfr   r   Úwrapper,   s"    
z0catch_errors_and_unavailability.<locals>.wrapper)Ú	functoolsÚwraps)r   r   r   )r   r   Úcatch_errors_and_unavailability+   s    r"   )Ú__doc__Z
__future__r   r   r    ZloggingÚerrorsr   r   r   r   Z	getLoggerr   r   Úobjectr	   r"   r   r   r   r   Ú<module>   s   
