From 711d309aa36c8889a752ab49981dbabc222b1403 Mon Sep 17 00:00:00 2001 From: Huong Nguyen Date: Fri, 28 May 2021 08:55:43 +0700 Subject: [PATCH] MDL-71741 portfolio: Reset header information between requests The reset process also removes the CURLFile option in the HTTP object, which will avoid the serialisation issue on PHP7.4 and upward --- lib/flickrclient.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/flickrclient.php b/lib/flickrclient.php index de57c328b83..ffe11588519 100644 --- a/lib/flickrclient.php +++ b/lib/flickrclient.php @@ -235,6 +235,9 @@ class flickr_client extends oauth_helper { $response = $this->http->post(self::UPLOAD_ROOT, $params); + // Reset http header and options to prepare for the next request. + $this->reset_state(); + if ($response) { $xml = simplexml_load_string($response); @@ -254,4 +257,14 @@ class flickr_client extends oauth_helper { throw new moodle_exception('flickr_upload_error', 'core_error', '', null, $response); } } + + /** + * Resets curl state. + * + * @return void + */ + public function reset_state(): void { + $this->http->cleanopt(); + $this->http->resetHeader(); + } }