Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
python3-dmapi / usr / lib / python3 / dist-packages / dmapi / api / __pycache__ / auth.cpython-35.pyc
Size: Mime:


їð]I
ã@sódZddlmZddlmZddlmZddlZddl	Zddl
ZddlmZddl
mZddlmZejjZejeƒZd	d
„Zdd„ZGd
d„dejƒZGdd„dejƒZdS)z
Common Auth Middleware.

é)Úlog)Úversionutils)Ú	jsonutilsN)Úcontext)Ú_)Úwsgicsa‡fdd†|dd…Dƒ}ˆj|dƒ}|jƒx|D]}||ƒ}qGW|S)Ncsg|]}ˆj|ƒ‘qS©)Z
get_filter)Ú.0Ún)Úloaderrú0/usr/lib/python3/dist-packages/dmapi/api/auth.pyú
<listcomp>s	z"_load_pipeline.<locals>.<listcomp>ééÿÿÿÿr)Zget_appÚreverse)rZpipelineÚfiltersZappÚfilterr)rrÚ_load_pipelines#

rcKst||tjjjƒƒS)z8A paste pipeline replica that keys off of auth_strategy.)rÚCONFÚapiZ
auth_strategyÚsplit)rZglobal_confZ
local_confrrrÚpipeline_factory_v2"srcsLeZdZdZ‡fdd†Zejjdej	ƒdd„ƒZ
‡S)Ú
InjectContextz&Add a 'dmapi.context' to WSGI environ.cs&||_tt|ƒj||ŽdS)N)rÚsuperrÚ__init__)ÚselfrÚargsÚkwargs)Ú	__class__rrr*s	zInjectContext.__init__ÚRequestClasscCs|j|jd<|jS)Nz
dmapi.context)rÚenvironÚapplication)rÚreqrrrÚ__call__.szInjectContext.__call__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rÚwebobÚdecÚwsgifyrÚRequestr#rr)rrr'src@s:eZdZdZejjdejƒdd„ƒZ	dS)ÚDmapiKeystoneContextz-Make a request context from keystone headers.rcCs|j}tjjr*|jjd|ƒ}d}|jjdƒdk	ršy%|jjdƒ}tj|ƒ}Wn*tk
r™t	j
jtdƒƒ‚YnX|j
jdƒ}tjj|j
d|d|d|ƒ}|jdkrütjdƒt	j
jƒS||j
d	<|jS)
NzX-Forwarded-ForZX_SERVICE_CATALOGzInvalid service catalog json.zkeystone.token_authÚuser_auth_pluginÚremote_addressÚservice_catalogz-Neither X_USER_ID nor X_USER found in requestz
dmapi.context)Zremote_addrrrZuse_forwarded_forÚheadersÚgetrÚloadsÚ
ValueErrorr(ÚexcZHTTPInternalServerErrorrr rZRequestContextZfrom_environZuser_idÚLOGÚdebugZHTTPUnauthorizedr!)rr"r.r/Zcatalog_headerr-Úctxrrrr#7s,	
				


zDmapiKeystoneContext.__call__N)
r$r%r&r'r(r)r*rr+r#rrrrr,4sr,)r'Zoslo_logrÚloggingrZoslo_serializationrZ	webob.decr(Z	webob.excZ
dmapi.confÚdmapirZ
dmapi.i18nrrÚconfrÚ	getLoggerr$r5rrZ
Middlewarerr,rrrrÚ<module>s