Header cleanup for clients, send actual FLAC bytes
This commit is contained in:
parent
0c0fc0b3f8
commit
02810c1bfe
22
queue.go
22
queue.go
|
@ -439,13 +439,16 @@ func (p *packetStreamFrame) Encode() []byte {
|
|||
}
|
||||
|
||||
func (q *Queue) HandleRadioRequest(writer http.ResponseWriter, request *http.Request) {
|
||||
writer.Header().Set("Server", "MeteorLight/radio")
|
||||
writer.Header().Set("Connection", "close")
|
||||
writer.Header().Set("X-Content-Type-Options", "nosniff")
|
||||
writer.Header().Set("Access-Control-Allow-Origin", "*")
|
||||
writer.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Icy-Metadata")
|
||||
writer.Header().Set("Accept-Ranges", "none")
|
||||
writer.Header().Set("Connection", "close")
|
||||
|
||||
if strings.HasSuffix(request.URL.Path, "mounts") {
|
||||
writer.Header().Set("Server", "MeteorLight/radio")
|
||||
writer.Header().Set("Accept-Ranges", "none")
|
||||
writer.Header().Set("Connection", "close")
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.Header().Set("Access-Control-Allow-Origin", "*")
|
||||
writer.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Icy-Metadata")
|
||||
writer.Header().Set("Access-Control-Expose-Headers", "Accept-Ranges, Server, Content-Type")
|
||||
|
||||
type mountData struct {
|
||||
|
@ -481,14 +484,8 @@ func (q *Queue) HandleRadioRequest(writer http.ResponseWriter, request *http.Req
|
|||
|
||||
for _, mount := range q.mounts {
|
||||
if strings.HasSuffix(request.URL.Path, mount.Mount) {
|
||||
writer.Header().Set("Server", "MeteorLight/radio")
|
||||
writer.Header().Set("Content-Type", mount.MimeType)
|
||||
writer.Header().Set("Accept-Ranges", "none")
|
||||
writer.Header().Set("Connection", "close")
|
||||
writer.Header().Set("Cache-Control", "no-store, max-age=604800")
|
||||
writer.Header().Set("X-Content-Type-Options", "nosniff")
|
||||
writer.Header().Set("Access-Control-Allow-Origin", "*")
|
||||
writer.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Icy-Metadata")
|
||||
writer.Header().Set("Access-Control-Expose-Headers", "Accept-Ranges, Server, Content-Type, Icy-MetaInt")
|
||||
writer.Header().Set("Vary", "*")
|
||||
|
||||
|
@ -510,7 +507,7 @@ func (q *Queue) HandleRadioRequest(writer http.ResponseWriter, request *http.Req
|
|||
writer.Header().Set("Content-Range", fmt.Sprintf("bytes 0-1/%d", safariLargeFileValue)) //64 TiB max fake size
|
||||
writer.Header().Set("Content-Length", "2")
|
||||
writer.WriteHeader(http.StatusPartialContent)
|
||||
writer.Write([]byte{'\x00', '\x00'})
|
||||
writer.Write([]byte{'f', 'L'})
|
||||
return
|
||||
} else if rangeHeader == fmt.Sprintf("bytes=0-%d", safariLargeFileValue-1) {
|
||||
//second request, serve status 200 to keep retries to a minimum
|
||||
|
@ -523,7 +520,6 @@ func (q *Queue) HandleRadioRequest(writer http.ResponseWriter, request *http.Req
|
|||
writer.WriteHeader(http.StatusRequestedRangeNotSatisfiable)
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue