Skip to content

Conversation

@mattkrins
Copy link

@mattkrins mattkrins commented Oct 15, 2025

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant