// Copyright (c) 2026 Winlin // // SPDX-License-Identifier: MIT package lb import ( "fmt" "os" "time" "srsx/internal/env" "srsx/internal/logger" ) // NewDefaultOriginServerForDebugging initializes the default origin server, for debugging only. func NewDefaultOriginServerForDebugging(environment env.ProxyEnvironment) (*OriginServer, error) { if environment.DefaultBackendEnabled() != "on" { return nil, nil } if environment.DefaultBackendIP() == "" { return nil, fmt.Errorf("empty default backend ip") } if environment.DefaultBackendRTMP() == "" { return nil, fmt.Errorf("empty default backend rtmp") } server := NewOriginServer(func(srs *OriginServer) { srs.IP = environment.DefaultBackendIP() srs.RTMP = []string{environment.DefaultBackendRTMP()} srs.ServerID = fmt.Sprintf("default-%v", logger.GenerateContextID()) srs.ServiceID = logger.GenerateContextID() srs.PID = fmt.Sprintf("%v", os.Getpid()) srs.UpdatedAt = time.Now() }) if environment.DefaultBackendHttp() != "" { server.HTTP = []string{environment.DefaultBackendHttp()} } if environment.DefaultBackendAPI() != "" { server.API = []string{environment.DefaultBackendAPI()} } if environment.DefaultBackendRTC() != "" { server.RTC = []string{environment.DefaultBackendRTC()} } if environment.DefaultBackendSRT() != "" { server.SRT = []string{environment.DefaultBackendSRT()} } return server, nil }