2016-03-30 3 views
1

С git вы можете configure the http.useragent variable, но я не знаю подобной настройки в меркуриальном. Кто-нибудь знает, как это сделать?Есть ли способ настроить, какие Mercurial отправляет в заголовке user-agent?

+0

afaik ответ «нет». Он настроен на использованную меркуриальную версию. – planetmaker

ответ

3

Там нет прямой поддержки, но это должно быть возможным, чтобы включить его с расширением:

from mercurial import url, extensions 

def wrap_opener(orig, ui, authinfo=None): 
    result = orig(ui, authinfo) 
    agent = ui.config("http", "useragent") 
    if agent: 
    ah = result.addheaders 
    for i in xrange(len(ah)): 
     if ah[i][0] == "User-agent": 
     ah[i] = ("User-agent", agent) 
    return result 

def uisetup(ui): 
    extensions.wrapfunction(url, "opener", wrap_opener) 

Это позволяет установить агент пользователя в вашем ~/.hgrc или .hg/hrc с:

[http] 
useragent = "..." 

Предостережение: я тестировал только то, что расширение не прерывает Mercurial, и объект-новичок модифицирован соответствующим образом, я фактически не проверял, что соответствующий заголовок User-agent отправляется по сети.

+0

Работал отлично. Спасибо, что написал. Заголовок пользователя-агента был установлен как указано. – MidnightJava