On 21/05/13 09:38, I wrote:
// @todo FIXME: This causes breakage in various places when we // actually expected a local URL and end up with dupe prefixes. if ( !empty( ApiParse::$forceAbsoluteUrls ) ) { $url = wfExpandUrl( $url, PROTO_RELATIVE ); }
Note that there are already five API actions which use FauxRequest/DerivativeContext, which in my opinion is an even worse form of architectural hack. With DerivativeContext, you could leave Title.php as it is, and just set up a fake request with action=render to fool the Title.php code, thus obfuscating the data flow and setting a crafty trap for anyone who tries to remove action=render in the future.
It would be more consistent with other API actions, but I like my way better.
-- Tim Starling