Таким образом, HTTP auth имеет запутанную вещь. Если у вас есть URL с учетными данными, как этот https://user:[email protected]xample.com', that will parse just fine with
url.parse`:
url.parse('https://user:[email protected]')
{ protocol: 'https:',
slashes: true,
auth: 'user:password',
host: 'example.com',
port: null,
hostname: 'example.com',
hash: null,
search: null,
query: null,
pathname: '/',
path: '/',
href: 'https://user:[email protected]/' }
Примечание Это url.parse(theUrl).auth
не url.parse(theUrl).query.auth
, как у вас есть.
Однако, это самый URL-адрес, именно эта строка. Если вы сообщите библиотеке HTTP, что она действительно запрашивает этот URL, учетные данные будут переведены в заголовок HTTP-запроса, так же как остальные URL-адреса, такие как хост, путь, порт и т. Д., Каждый преобразуется в детали запроса и внутри Заголовок HTTP-запроса и сам объект, полный URL-адрес нигде не найден, потому что он распространяется по слоям TCP и HTTP.
Какой длинный способ сказать, что вам нужно посмотреть в заголовках запроса: req.headers.authorization
. url.parse
просматривает простую строку URL и то, что у вас есть на сервере, является фактическим http.ClientRequest
экземпляром.
Ну, вы полностью изменили вопрос после того, как я ответил. :-) Но если вы исключаете npm-модули apriori, ваш вопрос в основном является grep в этом каталоге: https://github.com/joyent/node/tree/master/lib. Я думаю, что ответ «не совсем, но вы можете легко создавать то, что вам нужно», а просто клонировать это репо и искать. –