
    Nwg;                     T    d dl mZ d dlmZ d dlmZ ddlmZ ed        Zed        Z	y)	    )contextmanageriscoroutinefunction)sync_and_async_middleware   )HistoricalRecordsc              #      K   | t         j                  _        	 d  	 t         j                  `y # t        $ r Y y w xY w# 	 t         j                  `w # t        $ r Y w w xY wxY wwN)r   contextrequestAttributeError)r   s    P/var/www/horilla/myenv/lib/python3.12/site-packages/simple_history/middleware.py_context_managerr   	   sd     (/%
	!))1 			!))1 		sS   A#> / A#	;A#;A#A  AA 	AA AA  A#c                 6     t               r fd}|S  fd}|S )zExpose request to HistoricalRecords.

    This middleware sets request as a local context/thread variable, making it
    available to the model-level utilities to allow tracking of the authenticated user
    making a change.
    c                 r   K   t        |       5   |        d {   cd d d        S 7 # 1 sw Y   y xY wwr
   r   r   get_responses    r   
middlewarez,HistoryRequestMiddleware.<locals>.middleware!   s7     !'* 3)'223 323 3s    7+)+
7+47c                 V    t        |       5   |       cd d d        S # 1 sw Y   y xY wr
   r   r   s    r   r   z,HistoryRequestMiddleware.<locals>.middleware'   s(    !'* -#G,- - -s   (r   )r   r   s   ` r   HistoryRequestMiddlewarer      s'     <(	3 		-     N)

contextlibr   asgiref.syncr   django.utils.decoratorsr   modelsr   r   r    r   r   <module>r      s9    % , = % 	 	  r   