&`"~dZddlZddlZddlmZmZmZmZmZm Z m Z ej e Z GddZdZdS)z oauthlib.oauth2.rfc6749 ~~~~~~~~~~~~~~~~~~~~~~~ This module is an implementation of various logic needed for consuming and providing OAuth 2.0 RFC6749. N)FatalClientErrorInvalidClientErrorInvalidRequestError OAuth2Error ServerErrorTemporarilyUnavailableErrorUnsupportedTokenTypeErrorceZdZdZedZejdZedZejdZedZejdZdZ d Z d Z d Z d Z d S) BaseEndpointc0d|_d|_d|_dS)NTF) _available _catch_errors_valid_request_methodsselfs H/usr/lib/python3/dist-packages/oauthlib/oauth2/rfc6749/endpoints/base.py__init__zBaseEndpoint.__init__s"&*###c|jSNrrs rvalid_request_methodsz"BaseEndpoint.valid_request_methodss **rc0| d|D}||_dS)Nc6g|]}|S)upper).0xs r z6BaseEndpoint.valid_request_methods..!s $N$N$N1QWWYY$N$N$Nrr)rrs rrz"BaseEndpoint.valid_request_methodss+ ,$N$N8M$N$N$N !&;###rc|jSrrrs r availablezBaseEndpoint.available%s rc||_dSrr")rr#s rr#zBaseEndpoint.available)s #rc|jSrrrs r catch_errorszBaseEndpoint.catch_errors-s !!rc||_dSrr&)rr's rr'zBaseEndpoint.catch_errors1s)rc6|jst|ddS)zRaise error on missing token.zMissing token parameter.request descriptionN)tokenrrr+s r_raise_on_missing_tokenz$BaseEndpoint._raise_on_missing_token5s9} N%g2LNNN N N Nrc^|j|rG|j|s+td|t |dS|j|j|s+td|t |dS)z&Raise on failed client authentication.z!Client authentication failed, %r.r+N)request_validatorclient_authentication_requiredauthenticate_clientlogdebugrauthenticate_client_id client_idr.s r_raise_on_invalid_clientz%BaseEndpoint._raise_on_invalid_client:s  ! @ @ I I 6)==gFF : =wGGG(9999 : :'>>w?PRYZZ 6 II97 C C C$W555 5 6 6rct|jr,|j|jvr |j|jvrt|dSdSdS)zRaise on unsupported tokens.r1N)token_type_hintvalid_token_typessupported_token_typesr r.s r_raise_on_unsupported_tokenz(BaseEndpoint._raise_on_unsupported_tokenDsV  # =  #t'= = =  #4+E E E+G<<< < = = = = E Erc|jtd|j|jvr+t |d|jzdS)Nz0Configure "valid_request_methods" property firstzUnsupported request method %sr*)r ValueError http_methodrrr.s r_raise_on_bad_methodz!BaseEndpoint._raise_on_bad_methodKsu  % -OPP P   $ $ & &d.H H H%g3RU\UhUnUnUpUp3psss s I Hrc||jdkr|jpd}|rt|ddSdS)z/Raise if invalid POST request received POSTz$URL query parameters are not allowedr*N)rAr uri_queryr)rr+ query_paramss r_raise_on_bad_post_requestz'BaseEndpoint._raise_on_bad_post_requestRsh   $ $ & && 0 0",2L `)'7]```` 1 0 ` `rN)__name__ __module__ __qualname__rpropertyrsetterr#r'r/r9r>rBrHrrrr r s'+++ ++X+!<<"!< X$$$""X"***NNN 666===sss`````rr cFtjfd}|S)Nc|js5t}td|zi|jdfS|jrn ||g|Ri|S#t $rt$rt$r?}t}t d|zi|jdfcYd}~Sd}~wwxYw||g|Ri|S)Nz*Endpoint unavailable, ignoring request %s.iz.Exception caught while processing request, %s.i) r#r r5infojsonr'rr Exceptionrwarning)endpointuriargskwargseerrorfs rwrapperz0catch_errors_and_unavailability..wrapper\s&! #+--A HHACG H H Hqvs? "  5 +q38888888   #    + + +#  DqHJJJ5:s*******  + 1Xs4T444V44 4s AB014B+%B0+B0) functoolswraps)rZr[s` rcatch_errors_and_unavailabilityr^[s8_Q55555( Nr)__doc__r\loggingerrorsrrrrrr r getLoggerrIr5r r^rrrrcs g!!F`F`F`F`F`F`F`F`Pr