Project restructure (#18)

* First pass at restructuring the project; untested but it does compile

* Restructure builds and runs 🎉

* Add the dist folder to the gitignore

* Update core/playlist/monitor.go

* golint and reorganize the monitor.go file

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
This commit is contained in:
Bradley Hilton
2020-06-22 20:11:56 -05:00
committed by GitHub
parent b0768de6c0
commit 487bd12444
42 changed files with 1309 additions and 1000 deletions

10
router/middleware/cors.go Normal file
View File

@@ -0,0 +1,10 @@
package middleware
import (
"net/http"
)
//EnableCors enables the cors header on the responses
func EnableCors(w *http.ResponseWriter) {
(*w).Header().Set("Access-Control-Allow-Origin", "*")
}

View File

@@ -0,0 +1,11 @@
package middleware
import (
"net/http"
)
//DisableCache writes the disable cache header on the responses
func DisableCache(w *http.ResponseWriter) {
(*w).Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
(*w).Header().Set("Expires", "0")
}

35
router/router.go Normal file
View File

@@ -0,0 +1,35 @@
package router
import (
"fmt"
"net/http"
log "github.com/sirupsen/logrus"
"github.com/gabek/owncast/config"
"github.com/gabek/owncast/controllers"
"github.com/gabek/owncast/core/chat"
"github.com/gabek/owncast/core/rtmp"
)
//Start starts the router for the http, ws, and rtmp
func Start() error {
// websocket server
chatServer := chat.NewServer("/entry")
go chatServer.Listen()
// start the rtmp server
go rtmp.Start()
// static files
http.HandleFunc("/", controllers.IndexHandler)
// status of the system
http.HandleFunc("/status", controllers.GetStatus)
port := config.Config.WebServerPort
log.Printf("Starting public web server on port: %d", port)
return http.ListenAndServe(fmt.Sprintf(":%d", port), nil)
}