Code refactoring (change interface to any)

This commit is contained in:
Alexey Khit
2023-03-17 06:44:40 +03:00
parent d4d91e4920
commit 2146ea470b
23 changed files with 54 additions and 54 deletions
+7 -7
View File
@@ -63,13 +63,13 @@ func mergeYAML(file1 string, yaml2 []byte) ([]byte, error) {
}
// Unmarshal the first YAML file into a map
var config1 map[string]interface{}
var config1 map[string]any
if err = yaml.Unmarshal(data1, &config1); err != nil {
return nil, err
}
// Unmarshal the second YAML document into a map
var config2 map[string]interface{}
var config2 map[string]any
if err = yaml.Unmarshal(yaml2, &config2); err != nil {
return nil, err
}
@@ -81,15 +81,15 @@ func mergeYAML(file1 string, yaml2 []byte) ([]byte, error) {
return yaml.Marshal(&config1)
}
func merge(dst, src map[string]interface{}) map[string]interface{} {
func merge(dst, src map[string]any) map[string]any {
for k, v := range src {
if vv, ok := dst[k]; ok {
switch vv := vv.(type) {
case map[string]interface{}:
v := v.(map[string]interface{})
case map[string]any:
v := v.(map[string]any)
dst[k] = merge(vv, v)
case []interface{}:
v := v.([]interface{})
case []any:
v := v.([]any)
dst[k] = v
default:
dst[k] = v
+4 -4
View File
@@ -84,7 +84,7 @@ func apiWS(w http.ResponseWriter, r *http.Request) {
}
tr := &Transport{Request: r}
tr.OnWrite(func(msg interface{}) {
tr.OnWrite(func(msg any) {
_ = ws.SetWriteDeadline(time.Now().Add(time.Second * 5))
if data, ok := msg.([]byte); ok {
@@ -130,11 +130,11 @@ type Transport struct {
wrmx sync.Mutex
onChange func()
onWrite func(msg interface{})
onWrite func(msg any)
onClose []func()
}
func (t *Transport) OnWrite(f func(msg interface{})) {
func (t *Transport) OnWrite(f func(msg any)) {
t.mx.Lock()
if t.onChange != nil {
t.onChange()
@@ -143,7 +143,7 @@ func (t *Transport) OnWrite(f func(msg interface{})) {
t.mx.Unlock()
}
func (t *Transport) Write(msg interface{}) {
func (t *Transport) Write(msg any) {
t.wrmx.Lock()
t.onWrite(msg)
t.wrmx.Unlock()
+2 -2
View File
@@ -18,7 +18,7 @@ var Version = "1.2.0"
var UserAgent = "go2rtc/" + Version
var ConfigPath string
var Info = map[string]interface{}{
var Info = map[string]any{
"version": Version,
}
@@ -94,7 +94,7 @@ func NewLogger(format string, level string) zerolog.Logger {
return zerolog.New(writer).With().Timestamp().Logger().Level(lvl)
}
func LoadConfig(v interface{}) {
func LoadConfig(v any) {
for _, data := range configs {
if err := yaml.Unmarshal(data, v); err != nil {
log.Warn().Err(err).Msg("[app] read config")
+7 -7
View File
@@ -8,7 +8,7 @@ import (
const name = "go2rtc.json"
var store map[string]interface{}
var store map[string]any
func load() {
data, _ := os.ReadFile(name)
@@ -20,7 +20,7 @@ func load() {
}
if store == nil {
store = make(map[string]interface{})
store = make(map[string]any)
}
}
@@ -33,7 +33,7 @@ func save() error {
return os.WriteFile(name, data, 0644)
}
func GetRaw(key string) interface{} {
func GetRaw(key string) any {
if store == nil {
load()
}
@@ -41,16 +41,16 @@ func GetRaw(key string) interface{} {
return store[key]
}
func GetDict(key string) map[string]interface{} {
func GetDict(key string) map[string]any {
raw := GetRaw(key)
if raw != nil {
return raw.(map[string]interface{})
return raw.(map[string]any)
}
return make(map[string]interface{})
return make(map[string]any)
}
func Set(key string, v interface{}) error {
func Set(key string, v any) error {
if store == nil {
load()
}
+1 -1
View File
@@ -83,7 +83,7 @@ func handlerStream(w http.ResponseWriter, r *http.Request) {
session := &Session{cons: cons}
cons.Listen(func(msg interface{}) {
cons.(any).(*core.Listener).Listen(func(msg any) {
if data, ok := msg.([]byte); ok {
session.mu.Lock()
session.segment = append(session.segment, data...)
+1 -1
View File
@@ -15,7 +15,7 @@ import (
func apiHandler(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case "GET":
items := make([]interface{}, 0)
items := make([]any, 0)
for name, src := range store.GetDict("streams") {
if src := src.(string); strings.HasPrefix(src, "homekit") {
+3 -3
View File
@@ -32,7 +32,7 @@ func handlerKeyframe(w http.ResponseWriter, r *http.Request) {
RemoteAddr: r.RemoteAddr,
UserAgent: r.UserAgent(),
}
cons.Listen(func(msg interface{}) {
cons.Listen(func(msg any) {
switch msg := msg.(type) {
case []byte:
exit <- msg
@@ -84,7 +84,7 @@ func outputMjpeg(w http.ResponseWriter, r *http.Request) {
RemoteAddr: r.RemoteAddr,
UserAgent: r.UserAgent(),
}
cons.Listen(func(msg interface{}) {
cons.Listen(func(msg any) {
switch msg := msg.(type) {
case []byte:
data := []byte(header + strconv.Itoa(len(msg)))
@@ -149,7 +149,7 @@ func handlerWS(tr *api.Transport, _ *api.Message) error {
RemoteAddr: tr.Request.RemoteAddr,
UserAgent: tr.Request.UserAgent(),
}
cons.Listen(func(msg interface{}) {
cons.Listen(func(msg any) {
if data, ok := msg.([]byte); ok {
tr.Write(data)
}
+1 -1
View File
@@ -46,7 +46,7 @@ func handlerKeyframe(w http.ResponseWriter, r *http.Request) {
exit := make(chan []byte)
cons := &mp4.Segment{OnlyKeyframe: true}
cons.Listen(func(msg interface{}) {
cons.Listen(func(msg any) {
if data, ok := msg.([]byte); ok && exit != nil {
exit <- data
exit = nil
+2 -2
View File
@@ -26,7 +26,7 @@ func handlerWSMSE(tr *api.Transport, msg *api.Message) error {
cons.Medias = parseMedias(codecs, true)
}
cons.Listen(func(msg interface{}) {
cons.Listen(func(msg any) {
if data, ok := msg.([]byte); ok {
tr.Write(data)
}
@@ -74,7 +74,7 @@ func handlerWSMP4(tr *api.Transport, msg *api.Message) error {
cons.Medias = parseMedias(codecs, false)
}
cons.Listen(func(msg interface{}) {
cons.Listen(func(msg any) {
if data, ok := msg.([]byte); ok {
tr.Write(data)
}
+1 -1
View File
@@ -30,7 +30,7 @@ func Init() {
log.Error().Err(err).Msg("[ngrok] start")
}
ngr.Listen(func(msg interface{}) {
ngr.Listen(func(msg any) {
if msg := msg.(*ngrok.Message); msg != nil {
if strings.HasPrefix(msg.Line, "ERROR:") {
log.Warn().Msg("[ngrok] " + msg.Line)
+2 -2
View File
@@ -106,7 +106,7 @@ func rtspHandler(url string) (streamer.Producer, error) {
conn.UserAgent = app.UserAgent
if log.Trace().Enabled() {
conn.Listen(func(msg interface{}) {
conn.Listen(func(msg any) {
switch msg := msg.(type) {
case *tcp.Request:
log.Trace().Msgf("[rtsp] client request:\n%s", msg)
@@ -147,7 +147,7 @@ func tcpHandler(conn *rtsp.Conn) {
trace := log.Trace().Enabled()
conn.Listen(func(msg interface{}) {
conn.Listen(func(msg any) {
if trace {
switch msg := msg.(type) {
case *tcp.Request:
+2 -2
View File
@@ -24,7 +24,7 @@ func NewStream(source interface{}) *Stream {
prod := &Producer{url: source}
s.producers = append(s.producers, prod)
return s
case []interface{}:
case []any:
s := new(Stream)
for _, source := range source {
prod := &Producer{url: source.(string)}
@@ -33,7 +33,7 @@ func NewStream(source interface{}) *Stream {
return s
case *Stream:
return source
case map[string]interface{}:
case map[string]any:
return NewStream(source["url"])
case nil:
return new(Stream)
+2 -2
View File
@@ -11,7 +11,7 @@ import (
func Init() {
var cfg struct {
Mod map[string]interface{} `yaml:"streams"`
Mod map[string]any `yaml:"streams"`
}
app.LoadConfig(&cfg)
@@ -33,7 +33,7 @@ func Get(name string) *Stream {
return streams[name]
}
func New(name string, source interface{}) *Stream {
func New(name string, source any) *Stream {
stream := NewStream(source)
streams[name] = stream
return stream
+1 -1
View File
@@ -185,7 +185,7 @@ func inputWebRTC(w http.ResponseWriter, r *http.Request) {
id := strconv.FormatInt(time.Now().UnixNano(), 36)
sessions[id] = prod
prod.Listen(func(msg interface{}) {
prod.Listen(func(msg any) {
switch msg := msg.(type) {
case pion.PeerConnectionState:
if msg == pion.PeerConnectionStateClosed {
+1 -1
View File
@@ -52,7 +52,7 @@ func Init() {
}
if log.Debug().Enabled() {
srv.Listen(func(msg interface{}) {
srv.Listen(func(msg any) {
switch msg.(type) {
case string, error:
log.Debug().Msgf("[webtorrent] %s", msg)