Dr0ptp4kt has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/111399

Change subject: Add X-Zero-Rated: 1 header for API responses that are 
zero-rated.
......................................................................

Add X-Zero-Rated: 1 header for API responses that are zero-rated.

Change-Id: I079ac8bfe05704a9b31af324783bf7afc66677ee
---
M ZeroRatedMobileAccess.php
A includes/ZeroRatedHeaders.php
2 files changed, 29 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ZeroRatedMobileAccess 
refs/changes/99/111399/1

diff --git a/ZeroRatedMobileAccess.php b/ZeroRatedMobileAccess.php
index c2f92e3..99b6d62 100644
--- a/ZeroRatedMobileAccess.php
+++ b/ZeroRatedMobileAccess.php
@@ -45,6 +45,7 @@
        'PageRenderingHooks' => 'PageRenderingHooks',
        'ZeroConfigContent' => 'ZeroConfigContent',
        'ZeroConfigContentHandler' => 'ZeroConfigContentHandler',
+       'ZeroRatedHeaders' => 'ZeroRatedHeaders',
        'ZeroSpecialPage' => 'ZeroSpecialPage',
 );
 
@@ -114,6 +115,7 @@
 $wgHooks['MinervaPreRender'][] = $ns . 
'PageRenderingHooks::onMinervaPreRender';
 $wgHooks['MobileFrontendBeforeDOM'][] = $ns . 
'PageRenderingHooks::onMobileFrontendBeforeDOM';
 $wgHooks['GetMobileNotice'][] = $ns . 'PageRenderingHooks::onGetMobileNotice';
+$wgHooks['APIAfterExecute'][] = $ns . 'ZeroRatedHeaders::onAPIAfterExecute';
 
 define( 'NS_ZERO', 480 );
 define( 'NS_ZERO_TALK', 481 );
diff --git a/includes/ZeroRatedHeaders.php b/includes/ZeroRatedHeaders.php
new file mode 100644
index 0000000..8fb60d2
--- /dev/null
+++ b/includes/ZeroRatedHeaders.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Extensions\ZeroRatedMobileAccess;
+
+use ApiBase;
+
+/**
+ * Supports outbound zero-rating header augmentation
+ */
+class ZeroRatedHeaders {
+
+       /**
+        * APIAfterExecute hook handler. Adds header X-Zero-Rated: 1 if 
zero-rated.
+        * @see: https://www.mediawiki.org/wiki/Manual:Hooks/
+        * @param ApiBase $module
+        * @return bool
+        */
+       public static function onAPIAfterExecute( ApiBase &$module ) {
+               wfProfileIn( __METHOD__ );
+               $config = PageRenderingHooks::getState()->getConfig();
+               if ( $config !== null && !$config['disableApps'] ) {
+                       
$module->getContext()->getRequest()->response()->header( "X-Zero-Rated: 1" );
+               }
+               wfProfileOut( __METHOD__ );
+               return true;
+       }
+}
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/111399
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I079ac8bfe05704a9b31af324783bf7afc66677ee
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ZeroRatedMobileAccess
Gerrit-Branch: master
Gerrit-Owner: Dr0ptp4kt <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to