]> git.mxchange.org Git - friendica.git/commitdiff
requeue deliveries on 503 errors which have 'retry-after' headers
authorFriendika <info@friendika.com>
Wed, 28 Sep 2011 02:27:47 +0000 (19:27 -0700)
committerFriendika <info@friendika.com>
Wed, 28 Sep 2011 02:27:47 +0000 (19:27 -0700)
boot.php
include/diaspora.php
include/items.php
include/salmon.php

index 2e58f88d9078f7bb64b70f624f6d3332a236ae06..24f9652835ef2054e9b178a589bc50e9150ba2c5 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -8,7 +8,7 @@ require_once("include/pgettext.php");
 require_once('include/nav.php');
 
 define ( 'FRIENDIKA_PLATFORM',     'Free Friendika');
-define ( 'FRIENDIKA_VERSION',      '2.3.1116' );
+define ( 'FRIENDIKA_VERSION',      '2.3.1117' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.21'    );
 define ( 'DB_UPDATE_VERSION',      1092      );
 
index 5b51314acc8e827bcfb3a20d77e8b856bcf6b830..1ae8ca8006e3d4f3cf3551d7ac3e27c4266e1129 100644 (file)
@@ -1267,7 +1267,7 @@ function diaspora_transmit($owner,$contact,$slap,$public_batch) {
        $return_code = $a->get_curl_code();
        logger('diaspora_transmit: ' . $logid . ' returns: ' . $return_code);
 
-       if(! $return_code) {
+       if((! $return_code) || (($curl_stat == 503) && (stristr($a->get_curl_headers(),'retry-after')))) {
                logger('diaspora_transmit: queue message');
                // queue message for redelivery
                q("INSERT INTO `queue` ( `cid`, `created`, `last`, `content`,`batch`)
@@ -1280,5 +1280,6 @@ function diaspora_transmit($owner,$contact,$slap,$public_batch) {
                );
        }
 
+
        return(($return_code) ? $return_code : (-1));
 }
index da5a18cad8bf1ce057735a27d7989b4a509e09b2..a1baf7471fc5f74849e80bdd3819b0b99fd0f6b0 100644 (file)
@@ -1042,6 +1042,9 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
        if((! $curl_stat) || (! strlen($xml)))
                return(-1); // timed out
 
+       if(($curl_stat == 503) && (stristr($a->get_curl_headers(),'retry-after')))
+               return(-1);
+
        if(strpos($xml,'<?xml') === false) {
                logger('dfrn_deliver: phase 2: no valid XML returned');
                logger('dfrn_deliver: phase 2: returned XML: ' . $xml, LOGGER_DATA);
index 9153f8994ce9ccff52c4d546e41fb65795df7de0..3d525f51ad36d0a2d55349937c140e404f8b56ea 100644 (file)
@@ -187,6 +187,9 @@ EOT;
        logger('slapper returned ' . $return_code); 
        if(! $return_code)
                return(-1);
+       if(($return_code == 503) && (stristr($a->get_curl_headers(),'retry-after')))
+               return(-1);
+
        return ((($return_code >= 200) && ($return_code < 300)) ? 0 : 1);
 }