Please look at the bottom of this page (under Support Policy Summary) for our support policy summary, containing important information regarding our working hours and our support policy. Thank you!
EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 2Mb, please upload it on your server and post a link to it.
Description of my issue:
I found an error in this file administrator/components/com_akeeba/BackupEngine/Postproc/Connector/Cloudfiles/Request.php where you look for case sentitive header Content-Type but often (like in my case) server return header all lower case and they are compliant with HTTP protocol, specifically with message headers specification:
4.2 Message Headers
HTTP header fields, which include general-header (section 4.5), request-header (section 5.3), response-header (section 6.2), and entity-header (section 7.1) fields, follow the same generic format as that given in Section 3.1 of RFC 822 [9]. Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive.
What happens is that
Content-Type is not found and then response body json in not decoded
if (
($this->response->error === false)
&& isset($this->response->headers['Content-Type'])
&& (strstr($this->response->headers['Content-Type'], 'application/json') !== false)
&& isset($this->response->body)
)
{
$this->response->body = json_decode($this->response->body);
}
so Token is not found and applied to PUT request to swift (in my case).
You should correct the code and use case insensitive pattern here