From 836701cb681939f1a0126a041c3b5570621338d9 Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Wed, 15 Feb 2023 17:35:08 +0300 Subject: [PATCH] Add stream PATCH API --- cmd/streams/streams.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmd/streams/streams.go b/cmd/streams/streams.go index 5132744b..14d9422d 100644 --- a/cmd/streams/streams.go +++ b/cmd/streams/streams.go @@ -56,6 +56,7 @@ func GetOrNew(src string) *Stream { func streamsHandler(w http.ResponseWriter, r *http.Request) { src := r.URL.Query().Get("src") + // Not sure about all this API. Should be rewrited... switch r.Method { case "PUT": name := r.URL.Query().Get("name") @@ -64,6 +65,18 @@ func streamsHandler(w http.ResponseWriter, r *http.Request) { } New(name, src) return + case "PATCH": + name := r.URL.Query().Get("name") + if name == "" { + http.Error(w, "", http.StatusBadRequest) + return + } + + if stream := Get(name); stream != nil { + stream.SetSource(src) + } else { + New(name, src) + } case "DELETE": delete(streams, src) return