mwoffliner
Version:
MediaWiki ZIM scraper
45 lines • 1.48 kB
JavaScript
import urlBuilder from './url.builder.js';
import { WIKIMEDIA_REST_API_PATH } from '../../const.js';
/**
* Interface to build URLs based on base URL
*/
export default class BaseURLDirector {
baseDomain;
constructor(baseDomain) {
this.baseDomain = baseDomain.endsWith('/') ? baseDomain.substring(0, baseDomain.length - 1) : baseDomain;
}
buildURL(path) {
return urlBuilder.setDomain(this.baseDomain).setPath(path).build(true);
}
buildWikimediaDesktopApiUrl() {
return urlBuilder
.setDomain(this.baseDomain)
.setPath(WIKIMEDIA_REST_API_PATH + 'page/html')
.build(true, '/');
}
buildWikimediaMobileApiUrl() {
return urlBuilder
.setDomain(this.baseDomain)
.setPath(WIKIMEDIA_REST_API_PATH + 'page/mobile-html')
.build(true, '/');
}
buildModuleURL(path) {
return urlBuilder
.setDomain(this.baseDomain)
.setPath(path ?? '/w/load.php')
.build(false, '?');
}
buildMobileModuleURL(path) {
return urlBuilder
.setDomain(this.baseDomain)
.setPath(path ?? '/api/rest_v1/page/mobile-html-offline-resources')
.build(false, '/');
}
buildRestApiUrl(path) {
return urlBuilder
.setDomain(this.baseDomain)
.setPath(path ?? '/w/rest.php')
.build(true, '/');
}
}
//# sourceMappingURL=base.director.js.map