36define(
'MW_API',
true );
38require __DIR__ .
'/includes/WebStart.php';
49if ( isset( $_SERVER[
'PATH_INFO'] ) && $_SERVER[
'PATH_INFO'] !=
'' ) {
52 header(
"Location: $correctUrl",
true, 301 );
53 echo
'This endpoint does not support "path info", i.e. extra text between "api.php"'
54 .
'and the "?". Remove any such text and try again.';
60 header( $_SERVER[
'SERVER_PROTOCOL'] .
' 500 MediaWiki configuration Error',
true, 500 );
61 echo
'MediaWiki API is not enabled for this site. Add the following line to your LocalSettings.php'
62 .
'<pre><b>$wgEnableAPI=true;</b></pre>';
82 Hooks::run(
'ApiBeforeMain', [ &$processor ] );
83 if ( !$processor instanceof
ApiMain ) {
84 throw new MWException(
'ApiBeforeMain hook set $processor to a non-ApiMain class' );
86}
catch ( Exception
$e ) {
94 $processor->execute();
108 $items[] =
$wgRequest->wasPosted() ?
'POST' :
'GET';
111 $manager = $processor->getModuleManager();
112 $module = $manager->getModule(
$wgRequest->getVal(
'action' ),
'action' );
113 }
catch ( Exception $ex ) {
116 if ( !$module || $module->mustBePosted() ) {
117 $items[] =
"action=" .
$wgRequest->getVal(
'action' );
122 $items[] =
"failed in ApiBeforeMain";
125 wfDebug(
"Logged API request to $wgAPIRequestLog\n" );
$wgEnableWriteAPI
Allow the API to be used to perform write operations (page edits, rollback, etc.) when an authorised ...
$wgAPIRequestLog
Log file or URL (TCP or UDP) to log API requests to, or false to disable API request logging.
$wgEnableAPI
Enable the MediaWiki API for convenient access to machine-readable data via api.php.
wfDebug( $text, $dest='all', array $context=[])
Sends a line to the debug log if enabled or, optionally, to a comment in output.
wfExpandUrl( $url, $defaultProto=PROTO_CURRENT)
Expand a potentially local URL to a fully-qualified URL.
wfAppendQuery( $url, $query)
Append a query string to an existing URL, which may or may not already have query string parameters a...
wfArrayToCgi( $array1, $array2=null, $prefix='')
This function takes one or two arrays as input, and returns a CGI-style string, e....
wfScript( $script='index')
Get the path to a specified script file, respecting file extensions; this is a wrapper around $wgScri...
wfTimestamp( $outputtype=TS_UNIX, $ts=0)
Get a timestamp string in one of various formats.
if(! $wgDBerrorLogTZ) $wgRequest
if( $wgAPIRequestLog) $mediawiki
if(! $wgRequest->checkUrlExtension()) if(isset($_SERVER[ 'PATH_INFO']) &&$_SERVER[ 'PATH_INFO'] !='') if(! $wgEnableAPI) $wgTitle
if(! $processor instanceof ApiMain) catch(Exception $e) if( $processor) $endtime
This is the main API class, used for both external and internal processing.
static handleApiBeforeMainException(Exception $e)
Handle an exception from the ApiBeforeMain hook.
static getMain()
Get the RequestContext object associated with the main request.
returning false will NOT prevent logging $e