Skip to content

url.format prefers host over hostname, but http.request does the opposite #2277

Description

@nfriedly

I noticed this when working on #2271 - regardless of which one you think should "win", you'd expect the last two lines here to end up with the same url:

var myUrl = url.parse('http://foo.com/');
myUrl.host = 'bar.com';
url.format(myUrl); // => 'http://bar.com/'
http.get(myUrl); // makes a request to http://foo.com/

To node/io.js's credit, they are both documented correctly, but that only goes so far.

I don't really care which one wins (I suppose I'd pick hostname if I had to choose), but I think we should consider making a breaking change at some point in order to make those two APIs more consistent.

(Getters and setters on Url objects would help, but I could imagine someone doing this to a regular Object as well, so I still think the APIs should be consistent.)

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    httpIssues and PRs related to the http subsystem.semver-majorPRs that contain breaking changes and should be released in the next major version.stalledIssues and PRs manually marked as stalled and scheduled for automatic closure.urlIssues and PRs related to the legacy built-in url module.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions