Skip to content

Commit 58ebd3c

Browse files
committed
Fix #495: use custom user-agent instead of go-http-client
1 parent 3fd3c40 commit 58ebd3c

File tree

5 files changed

+18
-8
lines changed

5 files changed

+18
-8
lines changed

backend/app.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func (a *App) VersionTag() string {
6666
return a.appVersionTag
6767
}
6868

69-
func StartupApp(appName, displayAppName, appVersionTag, latestReleaseURL string) (*App, error) {
69+
func StartupApp(appName, displayAppName, appVersion, appVersionTag, latestReleaseURL string) (*App, error) {
7070
var confDir, cacheDir string
7171
portableMode := false
7272
if p := checkPortablePath(); p != "" {
@@ -118,7 +118,7 @@ func StartupApp(appName, displayAppName, appVersionTag, latestReleaseURL string)
118118
return nil, err
119119
}
120120

121-
a.ServerManager = NewServerManager(appName, a.Config, !portableMode /*use keyring*/)
121+
a.ServerManager = NewServerManager(appName, appVersion, a.Config, !portableMode /*use keyring*/)
122122
a.PlaybackManager = NewPlaybackManager(a.bgrndCtx, a.ServerManager, a.LocalPlayer, &a.Config.Scrobbling, &a.Config.Transcoding, &a.Config.Application)
123123
a.ImageManager = NewImageManager(a.bgrndCtx, a.ServerManager, cacheDir)
124124
a.Config.Application.MaxImageCacheSizeMB = clamp(a.Config.Application.MaxImageCacheSizeMB, 1, 500)

backend/servermanager.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"crypto/tls"
66
"errors"
7+
"fmt"
78
"log"
89
"net/http"
910
"time"
@@ -26,15 +27,21 @@ type ServerManager struct {
2627
useKeyring bool
2728
prefetchCoverCB func(string)
2829
appName string
30+
appVersion string
2931
config *Config
3032
onServerConnected []func()
3133
onLogout []func()
3234
}
3335

3436
var ErrUnreachable = errors.New("server is unreachable")
3537

36-
func NewServerManager(appName string, config *Config, useKeyring bool) *ServerManager {
37-
return &ServerManager{appName: appName, config: config, useKeyring: useKeyring}
38+
func NewServerManager(appName, appVersion string, config *Config, useKeyring bool) *ServerManager {
39+
return &ServerManager{
40+
appName: appName,
41+
appVersion: appVersion,
42+
config: config,
43+
useKeyring: useKeyring,
44+
}
3845
}
3946

4047
func (s *ServerManager) SetPrefetchAlbumCoverCallback(cb func(string)) {
@@ -194,8 +201,10 @@ func (s *ServerManager) connect(connection ServerConnection, password string) (m
194201
}
195202
}
196203
} else {
204+
ua := fmt.Sprintf("%s/%s", s.appName, s.appVersion)
197205
cli = &subsonicMP.SubsonicServer{
198206
Client: subsonic.Client{
207+
UserAgent: ua,
199208
Client: &http.Client{Timeout: 10 * time.Second},
200209
BaseUrl: connection.Hostname,
201210
User: connection.Username,
@@ -206,6 +215,7 @@ func (s *ServerManager) connect(connection ServerConnection, password string) (m
206215
s.checkSetInsecureSkipVerify(cli.(*subsonicMP.SubsonicServer).Client.Client)
207216
altCli = &subsonicMP.SubsonicServer{
208217
Client: subsonic.Client{
218+
UserAgent: ua,
209219
Client: &http.Client{Timeout: 10 * time.Second},
210220
BaseUrl: connection.AltHostname,
211221
User: connection.Username,

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ require (
1717
github.com/pelletier/go-toml/v2 v2.0.8
1818
github.com/quarckster/go-mpris-server v1.0.3
1919
github.com/supersonic-app/go-mpv v0.1.0
20-
github.com/supersonic-app/go-subsonic v0.0.0-20240807031555-2cb1ccd78f85
20+
github.com/supersonic-app/go-subsonic v0.0.0-20241017150725-a5686988ef9c
2121
github.com/zalando/go-keyring v0.2.1
2222
golang.org/x/net v0.25.0
2323
golang.org/x/text v0.16.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,8 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl
311311
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
312312
github.com/supersonic-app/go-mpv v0.1.0 h1:U+cCnLQxmpqx5mY6nMlC0J4uIdCCXUbAjpjS04XkFu8=
313313
github.com/supersonic-app/go-mpv v0.1.0/go.mod h1:1bQz6kBQumJopXEbkiqoLxIXLy7F7yWFBvknvpAtIC0=
314-
github.com/supersonic-app/go-subsonic v0.0.0-20240807031555-2cb1ccd78f85 h1:7PpVvIoF3kUQwqRyIJcKJui8VxbkLzqWH+Ysw1g84tU=
315-
github.com/supersonic-app/go-subsonic v0.0.0-20240807031555-2cb1ccd78f85/go.mod h1:D+OWPXeD9owcdcoXATv5YPBGWxxVvn5k98rt5B4wMc4=
314+
github.com/supersonic-app/go-subsonic v0.0.0-20241017150725-a5686988ef9c h1:UsXe5/TXViPgw21zO2Fgh0F/hSl0TXox0yjRc+vT6XQ=
315+
github.com/supersonic-app/go-subsonic v0.0.0-20241017150725-a5686988ef9c/go.mod h1:D+OWPXeD9owcdcoXATv5YPBGWxxVvn5k98rt5B4wMc4=
316316
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
317317
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
318318
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func main() {
3232
}
3333
// rest of flag actions are handled in backend.StartupApp
3434

35-
myApp, err := backend.StartupApp(res.AppName, res.DisplayName, res.AppVersionTag, res.LatestReleaseURL)
35+
myApp, err := backend.StartupApp(res.AppName, res.DisplayName, res.AppVersion, res.AppVersionTag, res.LatestReleaseURL)
3636
if err != nil {
3737
if err != backend.ErrAnotherInstance {
3838
log.Fatalf("fatal startup error: %v", err.Error())

0 commit comments

Comments
 (0)