@@ -1684,6 +1684,8 @@ public Void onCompleted(Response response) throws Exception {
1684
1684
logResponse (response );
1685
1685
if (isStatus2xx (response )) {
1686
1686
return null ;
1687
+ } else if (isRateLimitResponse (response )) {
1688
+ throw new ZendeskResponseRateLimitException (response );
1687
1689
}
1688
1690
throw new ZendeskResponseException (response );
1689
1691
}
@@ -1698,6 +1700,8 @@ public T onCompleted(Response response) throws Exception {
1698
1700
logResponse (response );
1699
1701
if (isStatus2xx (response )) {
1700
1702
return (T ) mapper .reader (clazz ).readValue (response .getResponseBodyAsStream ());
1703
+ } else if (isRateLimitResponse (response )) {
1704
+ throw new ZendeskResponseRateLimitException (response );
1701
1705
}
1702
1706
if (response .getStatusCode () == 404 ) {
1703
1707
return null ;
@@ -1727,6 +1731,8 @@ public T onCompleted(Response response) throws Exception {
1727
1731
return mapper .convertValue (mapper .readTree (response .getResponseBodyAsStream ()).get (name ), type );
1728
1732
}
1729
1733
return mapper .convertValue (mapper .readTree (response .getResponseBodyAsStream ()).get (name ), clazz );
1734
+ } else if (isRateLimitResponse (response )) {
1735
+ throw new ZendeskResponseRateLimitException (response );
1730
1736
}
1731
1737
if (response .getStatusCode () == 404 ) {
1732
1738
return null ;
@@ -1799,6 +1805,8 @@ public List<T> onCompleted(Response response) throws Exception {
1799
1805
values .add (mapper .convertValue (node , clazz ));
1800
1806
}
1801
1807
return values ;
1808
+ } else if (isRateLimitResponse (response )) {
1809
+ throw new ZendeskResponseRateLimitException (response );
1802
1810
}
1803
1811
throw new ZendeskResponseException (response );
1804
1812
}
@@ -1876,6 +1884,8 @@ public List<SearchResultEntity> onCompleted(Response response) throws Exception
1876
1884
}
1877
1885
}
1878
1886
return values ;
1887
+ } else if (isRateLimitResponse (response )) {
1888
+ throw new ZendeskResponseRateLimitException (response );
1879
1889
}
1880
1890
throw new ZendeskResponseException (response );
1881
1891
}
@@ -1898,6 +1908,8 @@ public List<Target> onCompleted(Response response) throws Exception {
1898
1908
}
1899
1909
}
1900
1910
return values ;
1911
+ } else if (isRateLimitResponse (response )) {
1912
+ throw new ZendeskResponseRateLimitException (response );
1901
1913
}
1902
1914
throw new ZendeskResponseException (response );
1903
1915
}
@@ -1917,6 +1929,8 @@ public List<ArticleAttachments> onCompleted(Response response) throws Exception
1917
1929
values .add (mapper .convertValue (node , ArticleAttachments .class ));
1918
1930
}
1919
1931
return values ;
1932
+ } else if (isRateLimitResponse (response )) {
1933
+ throw new ZendeskResponseRateLimitException (response );
1920
1934
}
1921
1935
throw new ZendeskResponseException (response );
1922
1936
}
@@ -1959,6 +1973,10 @@ private boolean isStatus2xx(Response response) {
1959
1973
return response .getStatusCode () / 100 == 2 ;
1960
1974
}
1961
1975
1976
+ private boolean isRateLimitResponse (Response response ) {
1977
+ return response .getStatusCode () == 429 ;
1978
+ }
1979
+
1962
1980
//////////////////////////////////////////////////////////////////////
1963
1981
// Static helper methods
1964
1982
//////////////////////////////////////////////////////////////////////
0 commit comments