Hubot: Как указать агент, который будет использоваться robot.http - PullRequest
0 голосов
/ 24 мая 2018

Я нахожусь в корпоративной среде с прокси, поэтому я использую раздел, упомянутый в документации Hubot в разделе «Пересылка всех HTTP-запросов через прокси».

proxy = require 'proxy-agent'
module.exports = (robot) ->
  robot.globalHttpOptions.httpAgent  = proxy('http://my-proxy-server.internal', false)
  robot.globalHttpOptions.httpsAgent = proxy('http://my-proxy-server.internal', true)

Это делает трюк, и Hubot может достичь Интернета.


РЕДАКТИРОВАТЬ: В то же время возник другой вопрос.Что делает второй параметр для proxy (false для http и true для https)?Я не могу найти это в документации и исходном коде?


Однако у меня также есть некоторые (внутренние) ресурсы, которые не могут быть достигнуты через прокси.Так что у меня есть сценарии кофе, где я не хочу / не могу использовать прокси ...

Тот же бит Документация Hubot (тот же раздел) также гласит:

Для одноразового управления, use может указать агента для использования с robot.http.

Не обращая внимания на то, что я считаю опечаткой (use действительно должно бытьyou, я предполагаю), мне интересно как что можно сделать?

Я в основном хочу отключить прокси для запросов от этих "внутренних скриптов",Я полагаю, что это должно быть возможно, указав, что я хочу использовать по умолчанию Агент .Но как?

Я пробовал все, что мог придумать, но безрезультатно.

1 Ответ

0 голосов
/ 30 мая 2018

Мне удалось настроить агент на "pac-осведомленность", используя pac+http в качестве протокола для указания прокси.Это добилось цели!

proxy = require 'proxy-agent'
module.exports = (robot) ->
  robot.globalHttpOptions.httpAgent  = proxy('pac+http://my-proxy-server.internal/proxy.pac', false)
  robot.globalHttpOptions.httpsAgent = proxy('pac+http://my-proxy- server.internal/proxy.pac', true)
...