MediaWiki REL1_33
ApiFormatRaw.php
Go to the documentation of this file.
1<?php
28
30 private $mFailWithHTTPError = false;
31
36 public function __construct( ApiMain $main, ApiFormatBase $errorFallback = null ) {
37 parent::__construct( $main, 'raw' );
38 if ( $errorFallback === null ) {
39 $this->errorFallback = $main->createPrinterByName( $main->getParameter( 'format' ) );
40 } else {
41 $this->errorFallback = $errorFallback;
42 }
43 }
44
45 public function getMimeType() {
46 $data = $this->getResult()->getResultData();
47
48 if ( isset( $data['error'] ) || isset( $data['errors'] ) ) {
49 return $this->errorFallback->getMimeType();
50 }
51
52 if ( !isset( $data['mime'] ) ) {
53 ApiBase::dieDebug( __METHOD__, 'No MIME type set for raw formatter' );
54 }
55
56 return $data['mime'];
57 }
58
59 public function getFilename() {
60 $data = $this->getResult()->getResultData();
61 if ( isset( $data['error'] ) ) {
62 return $this->errorFallback->getFilename();
63 } elseif ( !isset( $data['filename'] ) || $this->getIsWrappedHtml() || $this->getIsHtml() ) {
64 return parent::getFilename();
65 } else {
66 return $data['filename'];
67 }
68 }
69
70 public function initPrinter( $unused = false ) {
71 $data = $this->getResult()->getResultData();
72 if ( isset( $data['error'] ) || isset( $data['errors'] ) ) {
73 $this->errorFallback->initPrinter( $unused );
74 if ( $this->mFailWithHTTPError ) {
75 $this->getMain()->getRequest()->response()->statusHeader( 400 );
76 }
77 } else {
78 parent::initPrinter( $unused );
79 }
80 }
81
82 public function closePrinter() {
83 $data = $this->getResult()->getResultData();
84 if ( isset( $data['error'] ) || isset( $data['errors'] ) ) {
85 $this->errorFallback->closePrinter();
86 } else {
87 parent::closePrinter();
88 }
89 }
90
91 public function execute() {
92 $data = $this->getResult()->getResultData();
93 if ( isset( $data['error'] ) || isset( $data['errors'] ) ) {
94 $this->errorFallback->execute();
95 return;
96 }
97
98 if ( !isset( $data['text'] ) ) {
99 ApiBase::dieDebug( __METHOD__, 'No text given for raw formatter' );
100 }
101 $this->printText( $data['text'] );
102 }
103
113 public function setFailWithHTTPError( $fail ) {
114 $this->mFailWithHTTPError = $fail;
115 }
116}
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two and(2) offer you this license which gives you legal permission to copy
getParameter( $paramName, $parseLimit=true)
Get a value for the given parameter.
Definition ApiBase.php:858
static dieDebug( $method, $message)
Internal code errors should be reported with this method.
Definition ApiBase.php:2188
getMain()
Get the main module.
Definition ApiBase.php:528
getResult()
Get the result object.
Definition ApiBase.php:632
This is the abstract base class for API formatters.
printText( $text)
Append text to the output buffer.
getIsWrappedHtml()
Returns true when the special wrapped mode is enabled.
getIsHtml()
Returns true when the HTML pretty-printer should be used.
Formatter that spits out anything you like with any desired MIME type.
initPrinter( $unused=false)
Initialize the printer function and prepare the output headers.
closePrinter()
Finish printing and output buffered data.
setFailWithHTTPError( $fail)
Output HTTP error code 400 when if an error is encountered.
__construct(ApiMain $main, ApiFormatBase $errorFallback=null)
getMimeType()
Overriding class returns the MIME type that should be sent to the client.
execute()
Evaluates the parameters, performs the requested query, and sets up the result.
getFilename()
Return a filename for this module's output.
This is the main API class, used for both external and internal processing.
Definition ApiMain.php:41
createPrinterByName( $format)
Create an instance of an output formatter by its name.
Definition ApiMain.php:484
$data
Utility to generate mapping file used in mw.Title (phpCharToUpper.json)