Получение аутентифицированного пользователя в Mercurial Hook
У меня есть Apache httpd+mod_wsgi+Mercurial, и я хотел бы подключить аутентифицированного пользователя, в частности, pretxnchangegroup
крюк. Я прочитал (скорее всего, неправильно), что os.environ['REMOTE_USER']
должен содержать эту информацию, но не похоже, что это делает.
В настоящее время у меня есть расширение, которое печатает os.environ
в stderr
,
import sys
import os
def pretxnchangegroup_hook(ui, repo, **kwargs):
print >> sys.stderr, 'pretxnchangegroup activated'
print >> sys.stderr, os.environ
def reposetup(ui, repo):
ui.setconfig('hooks', 'incoming.accesscontrol', pretxnchangegroup_hook)
С hg -v push
этот код выводит:
remote: calling hook incoming.accesscontrol: <function pretxnchangegroup_hook at 0x7f8310221230>
remote: pretxnchangegroup activated
remote: {'LANG': 'C', 'TERM': 'xterm', 'SHLVL': '2', 'PWD': '/', 'PATH': '/sbin:/usr/sbin:/bin:/usr/bin', '_': '/usr/sbin/httpd'}
1 ответ
Хорошо, я надеюсь, что это поможет кому-то кроме меня, потому что я не смог найти это упомянутое где-либо еще.
Аутентифицированный пользователь (REMOTE_USER
) и много другой информации можно найти на repo.ui.environ
карта, где repo
это параметр, передаваемый в ловушку
Я думаю, что эта карта такая же, как в os.environ
под mod_cgi.