* - HTTPProxy : HTTP proxy to use (optional)
* - parsoidCompat : whether to parse URL as if they were meant for Parsoid
* boolean (optional)
+ * - fixedUrl : Do not append domain to the url. For example to use
+ * English Wikipedia restbase, you would this to true
+ * and url to https://en.wikipedia.org/api/rest_#version#
*/
public function __construct( array $params ) {
// set up defaults and merge them with the given params
'timeout' => 100,
'forwardCookies' => false,
'HTTPProxy' => null,
- 'parsoidCompat' => false
+ 'parsoidCompat' => false,
+ 'fixedUrl' => false,
], $params );
// Ensure that the url parameter has a trailing slash.
$mparams['url'] = preg_replace(
$result = [];
foreach ( $reqs as $key => $req ) {
- // replace /local/ with the current domain
- $req['url'] = preg_replace( '#^local/#', $this->params['domain'] . '/', $req['url'] );
- // and prefix it with the service URL
- $req['url'] = $this->params['url'] . $req['url'];
+ if ( $this->params['fixedUrl'] ) {
+ $version = explode( '/', $req['url'] )[1];
+ $req['url'] =
+ str_replace( '#version#', $version, $this->params['url'] ) .
+ preg_replace( '#^local/v./#', '', $req['url'] );
+ } else {
+ // replace /local/ with the current domain
+ $req['url'] = preg_replace( '#^local/#', $this->params['domain'] . '/', $req['url'] );
+ // and prefix it with the service URL
+ $req['url'] = $this->params['url'] . $req['url'];
+ }
+
// set the appropriate proxy, timeout and headers
if ( $this->params['HTTPProxy'] ) {
$req['proxy'] = $this->params['HTTPProxy'];
}
return $result;
-
}
/**