Skip to content

Commit 63d3603

Browse files
Remove commons-io and other code tidy-ups
1 parent fb0bd66 commit 63d3603

File tree

4 files changed

+20
-10
lines changed

4 files changed

+20
-10
lines changed

pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,6 @@
8484
<artifactId>commons-lang3</artifactId>
8585
<version>3.11</version>
8686
</dependency>
87-
<dependency>
88-
<groupId>commons-io</groupId>
89-
<artifactId>commons-io</artifactId>
90-
<version>2.8.0</version>
91-
</dependency>
9287
<dependency>
9388
<groupId>org.apache.httpcomponents</groupId>
9489
<artifactId>httpclient</artifactId>

src/main/java/engineer/nightowl/sonos/api/SonosApiClient.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,15 @@
1414
import engineer.nightowl.sonos.api.resource.PlayerVolumeResource;
1515
import engineer.nightowl.sonos.api.resource.PlaylistResource;
1616
import engineer.nightowl.sonos.api.resource.SettingsResource;
17+
1718
import org.apache.http.impl.client.CloseableHttpClient;
1819
import org.apache.http.impl.client.HttpClientBuilder;
20+
import org.apache.http.util.VersionInfo;
1921
import org.slf4j.Logger;
2022
import org.slf4j.LoggerFactory;
2123

2224
import java.io.IOException;
25+
import java.net.http.HttpClient;
2326
import java.util.Properties;
2427

2528
public class SonosApiClient implements AutoCloseable
@@ -48,6 +51,8 @@ public class SonosApiClient implements AutoCloseable
4851
private SonosApiConfiguration configuration;
4952
private CloseableHttpClient httpClient;
5053

54+
private final String version;
55+
5156
/**
5257
* Main client for Sonos API.
5358
*
@@ -71,10 +76,12 @@ public SonosApiClient(final SonosApiConfiguration configuration)
7176
public SonosApiClient(final SonosApiConfiguration configuration, final CloseableHttpClient httpClient)
7277
{
7378
loadProperties();
74-
logger.info("Initialising sonos-api-java:{}", properties.getProperty("sonosapijava.version"));
79+
version = properties.getProperty("sonosapijava.version");
80+
logger.info("Initialising sonos-api-java:{}", version);
7581

7682
this.configuration = configuration;
7783
this.httpClient = (httpClient == null ? generateHttpClient() : httpClient);
84+
7885

7986
// Setup resources
8087
audioClipResource = new AudioClipResource(this);
@@ -93,6 +100,15 @@ public SonosApiClient(final SonosApiConfiguration configuration, final Closeable
93100
settingsResource = new SettingsResource(this);
94101
}
95102

103+
public String getUserAgent()
104+
{
105+
final String ahcUa = VersionInfo.getUserAgent("Apache-HttpClient",
106+
"org.apache.http.client", HttpClientBuilder.class);
107+
108+
return String.format("sonos-api-java/%s (applicationId/%s) (httpClient/(%s))",
109+
version, configuration.getApplicationId(), ahcUa);
110+
}
111+
96112
/**
97113
* Generate a default HTTP client.
98114
*
@@ -101,7 +117,7 @@ public SonosApiClient(final SonosApiConfiguration configuration, final Closeable
101117
private CloseableHttpClient generateHttpClient()
102118
{
103119
logger.debug("Using default HttpClient");
104-
return HttpClientBuilder.create().build();
120+
return HttpClientBuilder.create().setUserAgent(getUserAgent()).build();
105121
}
106122

107123
/**

src/main/java/engineer/nightowl/sonos/api/resource/BaseResource.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import engineer.nightowl.sonos.api.exception.SonosApiError;
1212
import engineer.nightowl.sonos.api.specs.Validatable;
1313
import engineer.nightowl.sonos.api.util.SonosUtilityHelper;
14-
import org.apache.commons.io.IOUtils;
1514
import org.apache.http.Header;
1615
import org.apache.http.client.methods.CloseableHttpResponse;
1716
import org.apache.http.client.methods.HttpDelete;
@@ -83,7 +82,7 @@ <T> T callApi(final HttpUriRequest request, final Class<T> type) throws SonosApi
8382
final byte[] bytes;
8483
try (final InputStream stream = response.getEntity().getContent())
8584
{
86-
bytes = IOUtils.toByteArray(stream);
85+
bytes = stream.readAllBytes();
8786
} catch (final IOException ioe)
8887
{
8988
throw new SonosApiClientException("Unable to convert response body", ioe);

src/main/java/engineer/nightowl/sonos/api/util/SonosCallbackHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public static Boolean verifySignature(final Map<String, String> headers, final S
5050

5151
final String signature = Base64.getUrlEncoder().withoutPadding().encodeToString(messageDigest.digest());
5252

53-
logger.debug("Verifying signature: " + signature);
53+
logger.debug("Verifying signature: {}", signature);
5454

5555
return signature.equals(headers.get("X-Sonos-Event-Signature"));
5656
}

0 commit comments

Comments
 (0)