File tree Expand file tree Collapse file tree 1 file changed +22
-6
lines changed
src/main/java/is/swan/mcmarketapi/request Expand file tree Collapse file tree 1 file changed +22
-6
lines changed Original file line number Diff line number Diff line change 11package is .swan .mcmarketapi .request ;
22
33import is .swan .mcmarketapi .Token ;
4+ import is .swan .mcmarketapi .request .Request .Method ;
45import is .swan .mcmarketapi .request .sorting .Throttler ;
56import is .swan .mcmarketapi .utils .HTTPUtil ;
67
@@ -27,18 +28,33 @@ public Response send(Request request) {
2728 }
2829
2930 public Response sendOrWait (Request request ) {
30- Response response = getResponse (request );
31-
32- while (response .isRatelimited ()) {
31+ long stallFor ;
32+ while ((stallFor = this .throttler .stallFor (request .getMethod ())) > 0 ) {
3333 try {
34- Thread .sleep (response . getMillisecondsToWait () );
34+ Thread .sleep (stallFor );
3535 } catch (InterruptedException e ) {
3636 e .printStackTrace ();
3737 }
38-
39- response = getResponse (request );
38+ }
39+
40+ Response response = getResponse (request );
41+
42+ if (response .isRatelimited ()) {
43+ if (request .getMethod () == Method .GET ) {
44+ throttler .setRead (response .getMillisecondsToWait ());
45+ } else {
46+ throttler .setWrite (response .getMillisecondsToWait ());
47+ }
48+
49+ return sendOrWait (request );
4050 }
4151
52+ if (request .getMethod () == Method .GET ) {
53+ throttler .resetRead ();
54+ } else {
55+ throttler .resetWrite ();
56+ }
57+
4258 if (response .getError () != null ) {
4359 return response ;
4460 }
You can’t perform that action at this time.
0 commit comments