2016-10-04 13 views
1

Я также модифицировал Retry policy, но он не работает. вот код:android: volley продолжает повторять попытку при получении 403 кода

JsonObjectRequest getReq = new JsonObjectRequest(Request.Method.GET, GET_URL, null, 

       new Response.Listener<JSONObject>() { 
        @Override 
        public void onResponse(JSONObject response) { 
        //bluh.. 

        } 
       }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
        } 
       }){ 
      @Override 
      public Map<String, String> getHeaders() throws AuthFailureError { 
       HashMap<String, String> headers = new HashMap<>(); 
       headers.put("Authorization", token); 
       return headers; 
      } 
     };getReq.setRetryPolicy(new DefaultRetryPolicy(
        0, 
        DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
        DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
     AppController.getInstance().addToRequestQueue(getReq); 

иногда он решает до 6 раз. как я могу это предотвратить?

+0

попробуйте удалить политику повтора, если вы не хотите повторять или уменьшать значение 'MAX_RETRIES' i.e. 0. 0. – SripadRaj

+0

MAX_RETRIES - это '1' по умолчанию. –

+0

, а также передать 'DEFAULT_BACKOFF_MULT' как 0 и попробовать – SripadRaj

ответ

0

Проблема в классе «BasicNetwork» (см закомментирована блок)

if (responseContents != null) { 
       networkResponse = new NetworkResponse(statusCode, responseContents, 
         responseHeaders, false, SystemClock.elapsedRealtime() - requestStart); 
//     if (statusCode == HttpStatus.SC_UNAUTHORIZED || 
//       statusCode == HttpStatus.SC_FORBIDDEN) { 
//      attemptRetryOnException("auth", 
//        request, new AuthFailureError(networkResponse)); 
//     } else 
         { 
         // TODO: Only throw ServerError for 5xx status codes. 
         throw new ServerError(networkResponse); 
        } 
       } else { 
        throw new NetworkError(networkResponse); 
       } 

Эта реализация нарушает RFC и вызвал огромный трафик сервера в моем случае!

 Смежные вопросы

  • Нет связанных вопросов^_^