Skip to content

Commit 8dfaf59

Browse files
committed
Sending the user agent header with every HTTP request
1 parent fb69ff6 commit 8dfaf59

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

src/main/kotlin/dev/arbjerg/lavalink/client/LavalinkClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import java.util.concurrent.TimeUnit
1919

2020
/**
2121
* @param userId ID of the bot for authenticating with Discord
22-
* @param clientName Name of the client, used for connecting to the Lavalink node(s)
22+
* @param userAgent Name of the client, used for connecting to the Lavalink node(s)
2323
*/
24-
class LavalinkClient(val userId: Long, var clientName: String?) : Closeable, Disposable {
24+
class LavalinkClient(val userId: Long, var userAgent: String?) : Closeable, Disposable {
2525
private val internalNodes = CopyOnWriteArrayList<LavalinkNode>()
2626
private val linkMap = ConcurrentHashMap<Long, Link>()
2727
private var clientOpen = true

src/main/kotlin/dev/arbjerg/lavalink/client/LavalinkNode.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ class LavalinkNode(
5555
val flux: Flux<ClientEvent> = sink.asFlux()
5656
private val reference: Disposable = flux.subscribe()
5757

58-
internal val rest = LavalinkRestClient(this)
59-
val ws = LavalinkSocket(this, lavalink.clientName)
58+
internal val rest = LavalinkRestClient(this, lavalink.userAgent)
59+
val ws = LavalinkSocket(this, lavalink.userAgent)
6060

6161
// Stuff for load balancing
6262
val penalties = Penalties(this)

src/main/kotlin/dev/arbjerg/lavalink/internal/LavalinkRestClient.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import java.io.IOException
1515
import java.net.URLEncoder
1616
import java.nio.charset.StandardCharsets
1717

18-
class LavalinkRestClient(val node: LavalinkNode) {
18+
class LavalinkRestClient(val node: LavalinkNode, private val userAgent: String?) {
19+
1920
fun getPlayers(): Mono<Players> {
2021
return newRequest {
2122
path("/v4/sessions/${node.sessionId}/players")
@@ -82,6 +83,10 @@ class LavalinkRestClient(val node: LavalinkNode) {
8283
internal fun newRequest(configure: HttpBuilder.() -> HttpBuilder): Call {
8384
val requestBuilder = Request.Builder()
8485
.addHeader("Authorization", node.password)
86+
.apply {
87+
if (userAgent != null)
88+
addHeader("User-Agent", userAgent)
89+
}
8590
.get()
8691
val builder = configure(HttpBuilder(requestBuilder))
8792

0 commit comments

Comments
 (0)