mobile/android/base/sync/HTTPFailureException.java

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 package org.mozilla.gecko.sync;
     7 import org.mozilla.gecko.sync.net.SyncStorageResponse;
     9 import android.content.SyncResult;
    11 public class HTTPFailureException extends SyncException {
    12   private static final long serialVersionUID = -5415864029780770619L;
    13   public SyncStorageResponse response;
    15   public HTTPFailureException(SyncStorageResponse response) {
    16     this.response = response;
    17   }
    19   @Override
    20   public String toString() {
    21     String errorMessage;
    22     try {
    23       errorMessage = this.response.getErrorMessage();
    24     } catch (Exception e) {
    25       // Oh well.
    26       errorMessage = "[unknown error message]";
    27     }
    28     return "<HTTPFailureException " + this.response.getStatusCode() +
    29            " :: (" + errorMessage + ")>";
    30   }
    32   @Override
    33   public void updateStats(GlobalSession globalSession, SyncResult syncResult) {
    34     switch (response.getStatusCode()) {
    35     case 401:
    36       // Node reassignment 401s get handled internally.
    37       syncResult.stats.numAuthExceptions++;
    38       return;
    39     case 500:
    40     case 501:
    41     case 503:
    42       // TODO: backoff.
    43       syncResult.stats.numIoExceptions++;
    44       return;
    45     }
    46   }
    47 }

mercurial