node-http-ntlm icon indicating copy to clipboard operation
node-http-ntlm copied to clipboard

Resolve relative location redirects during handshake

Open mattkrins opened this issue 2 months ago • 0 comments

When the server returned a relative location during the NTLM handshake, httpreq/httpntlm previously replaced the full request URL with the relative path which caused the protocol (https) to be lost and resulted in a fatal ERR_INVALID_PROTOCOL error which could not be caught and would cause node to crash.

Example: GET https://domain.com > 302 Redirect to http://domain.com Node will crash and throw: TypeError [ERR_INVALID_PROTOCOL]: Protocol "http:" not supported. Expected "https:"

This change resolves redirect locations against the current request URL using the WHATWG URL resolver and sets options.url to the absolute href before retrying the NTLM flow. This preserves scheme/host/port and prevents protocol mismatch errors.


Added TypeScript type definitions for library.

mattkrins avatar Oct 15 '25 23:10 mattkrins