aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormyOmikron <git@omikron.dev>2023-01-25 21:48:12 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2023-02-24 12:49:24 +0100
commit07abe80065aa0ff3c203b2b0dcfb20c7a0a8c7c5 (patch)
tree78bafd0fd2d5f55145d5aecc8a63222d483638e2
parentc3c450eeb037adab5873cbd63ed772c4b7121a63 (diff)
downloadWRMS-07abe80065aa0ff3c203b2b0dcfb20c7a0a8c7c5.tar.gz
WRMS-07abe80065aa0ff3c203b2b0dcfb20c7a0a8c7c5.zip
General cleanup and deprecation fixes
-rw-r--r--go.mod12
-rw-r--r--go.sum20
-rw-r--r--main.go27
-rw-r--r--player.go8
-rw-r--r--spotify.go2
-rw-r--r--youtube.go2
6 files changed, 41 insertions, 30 deletions
diff --git a/go.mod b/go.mod
index d8b6dc3..f33df97 100644
--- a/go.mod
+++ b/go.mod
@@ -6,21 +6,21 @@ require (
github.com/dhowden/tag v0.0.0-20220618230019-adf36e896086
github.com/google/uuid v1.3.0
github.com/librespot-org/librespot-golang v0.0.0-20220325184705-31669e5a889f
+ github.com/mattn/go-sqlite3 v1.14.16
nhooyr.io/websocket v1.8.7
)
require (
github.com/badfortrains/mdns v0.0.0-20160325001438-447166384f51 // indirect
github.com/golang/protobuf v1.5.2 // indirect
- github.com/klauspost/compress v1.15.13 // indirect
- github.com/mattn/go-sqlite3 v1.14.16 // indirect
+ github.com/klauspost/compress v1.15.15 // indirect
github.com/miekg/dns v1.1.50 // indirect
github.com/stretchr/testify v1.5.1 // indirect
- golang.org/x/crypto v0.4.0 // indirect
+ golang.org/x/crypto v0.5.0 // indirect
golang.org/x/mod v0.7.0 // indirect
- golang.org/x/net v0.4.0 // indirect
- golang.org/x/sys v0.3.0 // indirect
- golang.org/x/tools v0.4.0 // indirect
+ golang.org/x/net v0.5.0 // indirect
+ golang.org/x/sys v0.4.0 // indirect
+ golang.org/x/tools v0.5.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
google.golang.org/protobuf v1.28.1 // indirect
)
diff --git a/go.sum b/go.sum
index 2a4aae5..76ee5d6 100644
--- a/go.sum
+++ b/go.sum
@@ -38,8 +38,8 @@ github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad
github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns=
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
-github.com/klauspost/compress v1.15.13 h1:NFn1Wr8cfnenSJSA46lLq4wHCcBzKTSjnBIexDMMOV0=
-github.com/klauspost/compress v1.15.13/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
+github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw=
+github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
github.com/librespot-org/librespot-golang v0.0.0-20220325184705-31669e5a889f h1:tTMPsyVClxxV+CnlLqzgxTTTFM6J7i//rSejN1Md0b0=
@@ -72,8 +72,8 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8=
-golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80=
+golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=
+golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
@@ -82,8 +82,8 @@ golang.org/x/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU=
-golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
+golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
@@ -96,8 +96,8 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
-golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
+golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
@@ -107,8 +107,8 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.4.0 h1:7mTAgkunk3fr4GAloyyCasadO6h9zSsQZbwvcaIciV4=
-golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
+golang.org/x/tools v0.5.0 h1:+bSpV5HIeWkuvgaMfI3UmKRThoTA5ODJTUd8T17NO+4=
+golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/main.go b/main.go
index 22e0e08..e357d65 100644
--- a/main.go
+++ b/main.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"flag"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"muhq.space/go/wrms/llog"
@@ -40,7 +40,9 @@ func searchHandler(w http.ResponseWriter, r *http.Request) {
}
llog.Info("Search returned: %s", string(data))
- w.Write(data)
+ if _, err = w.Write(data); err != nil {
+ llog.Error("Error writing to response writer: %s", err.Error())
+ }
}
func genericVoteHandler(w http.ResponseWriter, r *http.Request, vote string) {
@@ -69,7 +71,7 @@ func unvoteHandler(w http.ResponseWriter, r *http.Request) {
}
func addHandler(w http.ResponseWriter, r *http.Request) {
- data, err := ioutil.ReadAll(r.Body)
+ data, err := io.ReadAll(r.Body)
if err != nil {
llog.Warning("Failed to read request body: %s", string(data))
http.Error(w, "Failed to read request body", http.StatusInternalServerError)
@@ -85,7 +87,10 @@ func addHandler(w http.ResponseWriter, r *http.Request) {
llog.Info("Added song %s", string(data))
wrms.AddSong(song)
wrms.Broadcast(Event{"add", []Song{song}})
- fmt.Fprintf(w, "Added song %s", string(data))
+ if _, err = fmt.Fprintf(w, "Added song %s", string(data)); err != nil {
+ llog.Error("Failed to write to response writer: %s", err.Error())
+ http.Error(w, "Failed to write to response writer", http.StatusInternalServerError)
+ }
}
func playPauseHandler(w http.ResponseWriter, r *http.Request) {
@@ -106,15 +111,21 @@ func wsEndpoint(w http.ResponseWriter, r *http.Request) {
uuidCookie, err := r.Cookie("UUID")
if err != nil {
llog.Error("websocket connection has no set UUID cookie")
+ http.Error(w, "websocket connection has not set UUID cookie", http.StatusBadRequest)
+ cancel()
+ return
}
id, err := uuid.Parse(uuidCookie.Value)
if err != nil {
llog.Error("Invalid UUID set in cookie")
+ http.Error(w, "Invalid UUID set in cookie", http.StatusBadRequest)
+ cancel()
+ return
}
defer func() {
- llog.Info("cancel context of connection %d", id)
+ llog.Info("cancel context of connection %s", id)
cancel()
}()
@@ -123,7 +134,7 @@ func wsEndpoint(w http.ResponseWriter, r *http.Request) {
llog.Info("New websocket connection with id %d", id)
- initialCmds := [][]byte{}
+ initialCmds := make([][]byte, 0)
if wrms.Playing {
data, err := json.Marshal(Event{"play", []Song{wrms.CurrentSong}})
if err != nil {
@@ -133,8 +144,8 @@ func wsEndpoint(w http.ResponseWriter, r *http.Request) {
initialCmds = append(initialCmds, data)
}
- upvoted := []Song{}
- downvoted := []Song{}
+ upvoted := make([]Song, 0)
+ downvoted := make([]Song, 0)
if len(wrms.Songs) > 0 {
data, err := json.Marshal(Event{"add", wrms.Songs})
if err != nil {
diff --git a/player.go b/player.go
index 9b523fe..0881e17 100644
--- a/player.go
+++ b/player.go
@@ -15,7 +15,7 @@ type Player struct {
}
func NewPlayer(wrms *Wrms, backends []string) Player {
- available_backends := map[string]Backend{}
+ availableBackends := map[string]Backend{}
var b Backend
var err error
@@ -36,11 +36,11 @@ func NewPlayer(wrms *Wrms, backends []string) Player {
if err != nil {
llog.Error("Error during initialization of the %s backend: %s", backend, err.Error())
} else {
- available_backends[backend] = b
+ availableBackends[backend] = b
}
}
- return Player{available_backends, nil, wrms}
+ return Player{availableBackends, nil, wrms}
}
func (player *Player) Play(song *Song) {
@@ -103,7 +103,7 @@ func (player *Player) Pause() {
}
func (player *Player) Search(pattern string) []Song {
- results := []Song{}
+ results := make([]Song, 0)
for _, backend := range player.Backends {
results = append(results, backend.Search(pattern)...)
}
diff --git a/spotify.go b/spotify.go
index 951bbd9..0c0ea8f 100644
--- a/spotify.go
+++ b/spotify.go
@@ -100,7 +100,7 @@ func (spotify *SpotifyBackend) Search(keyword string) []Song {
fmt.Printf("\nTracks: %d (total %d)\n", len(res.Tracks.Hits), res.Tracks.Total)
- results := []Song{}
+ results := make([]Song, 0)
for _, track := range res.Tracks.Hits {
uriParts := strings.Split(track.Uri, ":")
results = append(results, NewSong(track.Name, track.Artists[0].Name, "spotify", uriParts[len(uriParts)-1]))
diff --git a/youtube.go b/youtube.go
index 547e555..0b55f68 100644
--- a/youtube.go
+++ b/youtube.go
@@ -34,7 +34,7 @@ func (b *YoutubeBackend) Search(pattern string) []Song {
llog.Error("youtube-dl failed with: %s", err)
}
- songs := []Song{}
+ songs := make([]Song, 0)
for _, l := range strings.Split(string(results), "\n") {
if l == "" {
continue