|Just another Perl shrine|
Re: Mojo::URL returns incorrect absolute pathby McA (Priest)
|on May 17, 2013 at 02:15 UTC||Need Help??|
I looked at your problem and found the following:
You grab the URL http://www.mellanox.com/page/press_releases. In the result of that html document there is a href with href="page/rss". If you would build the resulting URL manually you would take the http://www.mellanox.com/page/ and add the relative url page/rss to it. This would result in http://www.mellanox.com/page/page/rss. This is what you get from Mojolicious.
Now the big "BUT":
In the resulting html document of http://www.mellanox.com/page/press_releases there is a html tag <base href="http://www.mellanox.com/" /> stating that every relative URL should be based on that base URL. This means that your href="page/rss" is added to <base href="http://www.mellanox.com/" /> resulting in <base href="http://www.mellanox.com/page/rss" />, which is what you want.
The question remains. Should Mojolicious respect any base-tag on its own or are you responsible to extract a base tag and add it to your absolute-url-generating-code?
As I took the time to look at your problem I would like to ask you to file a question to the mojolicious maintainers if this behaviour is intentional.