Skip to content

Basic Library, using Guzzle, for interacting with the Mediawiki API, [READ-ONLY] split from https://github.com/addwiki/addwiki

License

Notifications You must be signed in to change notification settings

addwiki/mediawiki-api-base

Repository files navigation

mediawiki-api-base

GitHub issue custom search in repo Latest Stable Version Download count

This library provides basic access to the MediaWiki Action API. This library features simple methods allowing you to login, logout and do both GET and POST requests. This library should work with most if not all MediaWiki versions due to its simplicity.

You can find the full documentation at https://addwiki.github.io/mediawiki-api-base/

Example

A quick example can be found below:

use \Addwiki\Mediawiki\Api\Client\Auth\UserAndPassword;
use \Addwiki\Mediawiki\Api\Client\Action\MediawikiApi;

$auth = new UserAndPassword( 'username', 'password' );
$api = MediawikiApi::newFromPage( 'https://en.wikipedia.org/wiki/Berlin', $auth );
$purgeRequest = FluentRequest::factory()->setAction( 'purge' )->setParam( 'titles', 'Berlin' );
$api->postRequest( $purgeRequest );

Integration tests

Run the MediaWiki test site:

docker compose -f docker-compose-ci.yml up -d

Run the tests:

composer phpunit-integration

Destroy the site that was used for testing:

docker compose -f docker-compose-ci.yml down --volumes