3
(h`                 @   sv   d dl mZmZ yd dlmZmZmZmZ W n4 ek
r`   d dl	mZmZmZ d dl
mZ Y nX G dd deZdS )    )	QueryDictHttpResponseRedirect)	urlencodeparse_qsurlsplit
urlunsplit)r   r   r   )r   c               @   s   e Zd ZdZdd ZdS )SmoothNavigationMiddlewarez1Keep `?back=` queryst parameter on POST requests.c             C   s   t |tr|jjd}|rt|\}}}}}t|d \}}}}	}
t|	}||kr`|jdd  nd|krr|g|d< t|dd}t|||||
f|d< |S )NbacklocationT)doseq)	
isinstancer   GETgetr   r   popr   r   )selfrequestresponser	   _Z	back_pathschemenetlocpathZquery_stringfragmentZquery_paramsZnew_query_string r   I/tmp/pip-install-q3hcpn_q/django-material/material/frontend/middleware.pyprocess_response   s    

z+SmoothNavigationMiddleware.process_responseN)__name__
__module____qualname____doc__r   r   r   r   r   r   
   s   r   N)Zdjango.httpr   r   urllib.parser   r   r   r   ImportErrorurlparseurllibobjectr   r   r   r   r   <module>   s   