Middlewares

ThreadLocalMiddleware

Torna o objeto request visível por toda a aplicação, por meio de variável com escopo de thread (threading.local).

Para instalar, a linha à seguir deve ser incluída na diretiva MIDDLEWARE_CLASSES, do arquivo settings.py:

scielomanager.utils.middlewares.threadlocal.ThreadLocalMiddleware

À partir desse momento, o objeto request de qualquer requisição pode ser acessado por meio da função scielomanager.utils.middlewares.threadlocal.get_current_request() e, o usuário corrente por meio da função scielomanager.utils.middlewares.threadlocal.get_current_user().

Esse middleware viabiliza a operação do maquinário de obtenção do contexto da requisição do usuário (scielomanager.utils.usercontext).

Note

Thread local scope! Este middleware manipula o scopo global da thread ativa, fazendo uso do nome _request.