Merge branch 'MDL-60733-master' of git://github.com/damyon/moodle
authorDavid Monllao <davidm@moodle.com>
Wed, 8 Nov 2017 11:03:43 +0000 (12:03 +0100)
committerDavid Monllao <davidm@moodle.com>
Wed, 8 Nov 2017 11:03:43 +0000 (12:03 +0100)
lib/googleapi.php
lib/oauthlib.php
lib/upgrade.txt

index 3d2a3fe..5c198cc 100644 (file)
@@ -448,4 +448,17 @@ class google_oauth extends oauth2_client {
         $this->header = array();
         $this->response = array();
     }
+
+    /**
+     * Make a HTTP request, we override the parents because we do not
+     * want to send accept headers (this was a change in the parent class and we want to keep the old behaviour).
+     *
+     * @param string $url The URL to request
+     * @param array $options
+     * @param mixed $acceptheader Not used.
+     * @return bool
+     */
+    protected function request($url, $options = array(), $acceptheader = 'application/json') {
+        return parent::request($url, $options, false);
+    }
 }
index ff2f689..0485ac1 100644 (file)
@@ -604,9 +604,10 @@ abstract class oauth2_client extends curl {
      *
      * @param string $url The URL to request
      * @param array $options
+     * @param mixed $acceptheader mimetype (as string) or false to skip sending an accept header.
      * @return bool
      */
-    protected function request($url, $options = array()) {
+    protected function request($url, $options = array(), $acceptheader = 'application/json') {
         $murl = new moodle_url($url);
 
         if ($this->accesstoken) {
@@ -619,7 +620,9 @@ abstract class oauth2_client extends curl {
         }
 
         // Force JSON format content in response.
-        $this->setHeader('Accept: application/json');
+        if ($acceptheader) {
+            $this->setHeader('Accept: ' . $acceptheader);
+        }
 
         $response = parent::request($murl->out(false), $options);
 
index c3f824a..ccc2381 100644 (file)
@@ -2,7 +2,7 @@ This files describes API changes in core libraries and APIs,
 information provided here is intended especially for developers.
 
 === 3.4 ===
-
+* oauth2_client::request method has an extra parameter to specify the accept header for the response (MDL-60733)
 * The following functions, previously used (exclusively) by upgrade steps are not available
   anymore because of the upgrade cleanup performed for this version. See MDL-57432 for more info:
     - upgrade_mimetypes()