Skip to content

Commit a9dd8e0

Browse files
committed
[2.0.0-SNAPSHOT]
Javadoc improvements
1 parent 8ec7d93 commit a9dd8e0

File tree

5 files changed

+21
-10
lines changed

5 files changed

+21
-10
lines changed

src/main/java/io/goodforgod/api/etherscan/EthScanAPIBuilder.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import io.goodforgod.api.etherscan.http.EthHttpClient;
66
import io.goodforgod.api.etherscan.http.impl.UrlEthHttpClient;
77
import io.goodforgod.api.etherscan.manager.RequestQueueManager;
8-
import io.goodforgod.api.etherscan.manager.impl.FakeRequestQueueManager;
98
import io.goodforgod.api.etherscan.util.BasicUtils;
109
import io.goodforgod.gson.configuration.GsonConfiguration;
1110
import java.util.function.Supplier;
@@ -24,7 +23,7 @@ final class EthScanAPIBuilder implements EtherScanAPI.Builder {
2423

2524
private String apiKey = DEFAULT_KEY;
2625
private EthNetwork ethNetwork = EthNetworks.MAINNET;
27-
private RequestQueueManager queueManager = RequestQueueManager.DEFAULT;
26+
private RequestQueueManager queueManager = RequestQueueManager.ANONYMOUS;
2827
private Supplier<EthHttpClient> ethHttpClientSupplier = DEFAULT_SUPPLIER;
2928
private Supplier<Converter> converterSupplier = () -> new Converter() {
3029

@@ -42,7 +41,7 @@ public EtherScanAPI.Builder withApiKey(@NotNull String apiKey) {
4241

4342
this.apiKey = apiKey;
4443
if (!DEFAULT_KEY.equals(apiKey)) {
45-
queueManager = new FakeRequestQueueManager();
44+
queueManager = RequestQueueManager.UNLIMITED;
4645
}
4746
return this;
4847
}

src/main/java/io/goodforgod/api/etherscan/http/impl/UrlEthHttpClient.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.Map;
2121
import java.util.zip.GZIPInputStream;
2222
import java.util.zip.InflaterInputStream;
23+
import org.jetbrains.annotations.NotNull;
2324

2425
/**
2526
* Http client implementation
@@ -82,7 +83,7 @@ private HttpURLConnection buildConnection(URI uri, String method) throws IOExcep
8283
}
8384

8485
@Override
85-
public String get(URI uri) {
86+
public @NotNull String get(@NotNull URI uri) {
8687
try {
8788
final HttpURLConnection connection = buildConnection(uri, "GET");
8889
final int status = connection.getResponseCode();
@@ -105,7 +106,7 @@ public String get(URI uri) {
105106
}
106107

107108
@Override
108-
public String post(URI uri, byte[] body) {
109+
public @NotNull String post(@NotNull URI uri, byte[] body) {
109110
try {
110111
final HttpURLConnection connection = buildConnection(uri, "POST");
111112
final int contentLength = body.length;

src/main/java/io/goodforgod/api/etherscan/manager/RequestQueueManager.java

+13-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.goodforgod.api.etherscan.manager;
22

3+
import io.goodforgod.api.etherscan.manager.impl.FakeRequestQueueManager;
34
import io.goodforgod.api.etherscan.manager.impl.SemaphoreRequestQueueManager;
45
import java.time.Duration;
56

@@ -12,8 +13,18 @@
1213
*/
1314
public interface RequestQueueManager extends AutoCloseable {
1415

15-
RequestQueueManager DEFAULT = new SemaphoreRequestQueueManager(1, Duration.ofMillis(5005L));
16-
RequestQueueManager PERSONAL = new SemaphoreRequestQueueManager(5, Duration.ofMillis(1005L));
16+
/**
17+
* Is used by default when no API KEY is provided
18+
*/
19+
RequestQueueManager ANONYMOUS = new SemaphoreRequestQueueManager(1, Duration.ofMillis(5005L));
20+
21+
/**
22+
* Is available for all registered free API KEYs
23+
* <a href="https://docs.etherscan.io/getting-started/viewing-api-usage-statistics">Free API KEY</a>
24+
*/
25+
RequestQueueManager FREE_PLAN = new SemaphoreRequestQueueManager(5, Duration.ofMillis(1005L));
26+
27+
RequestQueueManager UNLIMITED = new FakeRequestQueueManager();
1728

1829
/**
1930
* Waits in queue for chance to take turn

src/test/java/io/goodforgod/api/etherscan/ApiRunner.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ public class ApiRunner extends Assertions {
2020
.orElse(DEFAULT_KEY);
2121

2222
final RequestQueueManager queueManager = (DEFAULT_KEY.equals(API_KEY))
23-
? RequestQueueManager.DEFAULT
24-
: RequestQueueManager.PERSONAL;
23+
? RequestQueueManager.ANONYMOUS
24+
: RequestQueueManager.FREE_PLAN;
2525

2626
API = EtherScanAPI.builder()
2727
.withApiKey(ApiRunner.API_KEY)

src/test/java/io/goodforgod/api/etherscan/proxy/ProxyBlockApiTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class ProxyBlockApiTests extends ApiRunner {
1717
private final EtherScanAPI api;
1818

1919
ProxyBlockApiTests() {
20-
final RequestQueueManager queueManager = RequestQueueManager.DEFAULT;
20+
final RequestQueueManager queueManager = RequestQueueManager.ANONYMOUS;
2121
this.api = EtherScanAPI.builder().withApiKey(getApiKey()).withNetwork(EthNetworks.MAINNET).withQueue(queueManager)
2222
.build();
2323
}

0 commit comments

Comments
 (0)