MediaWiki
REL1_30
ApiFormatRaw.php
Go to the documentation of this file.
1
<?php
31
class
ApiFormatRaw
extends
ApiFormatBase
{
32
33
private
$errorFallback
;
34
private
$mFailWithHTTPError
=
false
;
35
40
public
function
__construct
(
ApiMain
$main,
ApiFormatBase
$errorFallback
=
null
) {
41
parent::__construct( $main,
'raw'
);
42
if
(
$errorFallback
===
null
) {
43
$this->errorFallback = $main->
createPrinterByName
( $main->
getParameter
(
'format'
) );
44
}
else
{
45
$this->errorFallback =
$errorFallback
;
46
}
47
}
48
49
public
function
getMimeType
() {
50
$data = $this->
getResult
()->getResultData();
51
52
if
( isset( $data[
'error'
] ) || isset( $data[
'errors'
] ) ) {
53
return
$this->errorFallback->getMimeType();
54
}
55
56
if
( !isset( $data[
'mime'
] ) ) {
57
ApiBase::dieDebug
( __METHOD__,
'No MIME type set for raw formatter'
);
58
}
59
60
return
$data[
'mime'
];
61
}
62
63
public
function
getFilename
() {
64
$data = $this->
getResult
()->getResultData();
65
if
( isset( $data[
'error'
] ) ) {
66
return
$this->errorFallback->getFilename();
67
} elseif ( !isset( $data[
'filename'
] ) || $this->
getIsWrappedHtml
() || $this->
getIsHtml
() ) {
68
return
parent::getFilename();
69
}
else
{
70
return
$data[
'filename'
];
71
}
72
}
73
74
public
function
initPrinter
( $unused =
false
) {
75
$data = $this->
getResult
()->getResultData();
76
if
( isset( $data[
'error'
] ) || isset( $data[
'errors'
] ) ) {
77
$this->errorFallback->initPrinter( $unused );
78
if
( $this->mFailWithHTTPError ) {
79
$this->
getMain
()->getRequest()->response()->statusHeader( 400 );
80
}
81
}
else
{
82
parent::initPrinter( $unused );
83
}
84
}
85
86
public
function
closePrinter
() {
87
$data = $this->
getResult
()->getResultData();
88
if
( isset( $data[
'error'
] ) || isset( $data[
'errors'
] ) ) {
89
$this->errorFallback->closePrinter();
90
}
else
{
91
parent::closePrinter();
92
}
93
}
94
95
public
function
execute
() {
96
$data = $this->
getResult
()->getResultData();
97
if
( isset( $data[
'error'
] ) || isset( $data[
'errors'
] ) ) {
98
$this->errorFallback->execute();
99
return
;
100
}
101
102
if
( !isset( $data[
'text'
] ) ) {
103
ApiBase::dieDebug
( __METHOD__,
'No text given for raw formatter'
);
104
}
105
$this->
printText
( $data[
'text'
] );
106
}
107
117
public
function
setFailWithHTTPError
( $fail ) {
118
$this->mFailWithHTTPError = $fail;
119
}
120
}
ApiBase\getParameter
getParameter( $paramName, $parseLimit=true)
Get a value for the given parameter.
Definition
ApiBase.php:764
ApiBase\dieDebug
static dieDebug( $method, $message)
Internal code errors should be reported with this method.
Definition
ApiBase.php:2038
ApiBase\getMain
getMain()
Get the main module.
Definition
ApiBase.php:528
ApiBase\getResult
getResult()
Get the result object.
Definition
ApiBase.php:632
ApiFormatBase
This is the abstract base class for API formatters.
Definition
ApiFormatBase.php:32
ApiFormatBase\printText
printText( $text)
Append text to the output buffer.
Definition
ApiFormatBase.php:336
ApiFormatBase\getIsWrappedHtml
getIsWrappedHtml()
Returns true when the special wrapped mode is enabled.
Definition
ApiFormatBase.php:110
ApiFormatBase\getIsHtml
getIsHtml()
Returns true when the HTML pretty-printer should be used.
Definition
ApiFormatBase.php:101
ApiFormatRaw
Formatter that spits out anything you like with any desired MIME type.
Definition
ApiFormatRaw.php:31
ApiFormatRaw\$mFailWithHTTPError
$mFailWithHTTPError
Definition
ApiFormatRaw.php:34
ApiFormatRaw\initPrinter
initPrinter( $unused=false)
Initialize the printer function and prepare the output headers.
Definition
ApiFormatRaw.php:74
ApiFormatRaw\closePrinter
closePrinter()
Finish printing and output buffered data.
Definition
ApiFormatRaw.php:86
ApiFormatRaw\setFailWithHTTPError
setFailWithHTTPError( $fail)
Output HTTP error code 400 when if an error is encountered.
Definition
ApiFormatRaw.php:117
ApiFormatRaw\__construct
__construct(ApiMain $main, ApiFormatBase $errorFallback=null)
Definition
ApiFormatRaw.php:40
ApiFormatRaw\getMimeType
getMimeType()
Overriding class returns the MIME type that should be sent to the client.
Definition
ApiFormatRaw.php:49
ApiFormatRaw\execute
execute()
Evaluates the parameters, performs the requested query, and sets up the result.
Definition
ApiFormatRaw.php:95
ApiFormatRaw\getFilename
getFilename()
Return a filename for this module's output.
Definition
ApiFormatRaw.php:63
ApiFormatRaw\$errorFallback
$errorFallback
Definition
ApiFormatRaw.php:33
ApiMain
This is the main API class, used for both external and internal processing.
Definition
ApiMain.php:45
ApiMain\createPrinterByName
createPrinterByName( $format)
Create an instance of an output formatter by its name.
Definition
ApiMain.php:499
includes
api
ApiFormatRaw.php
Generated on Mon Nov 25 2024 15:42:03 for MediaWiki by
1.10.0