Admin Interface & Handlers
* In Progress, Not Done Yet + Added Handlers to cover public and admin handlers + Added WebServer + InitHandlers used the new class
This commit is contained in:
1 parent
f33f7b5c29
commit
c1e8ca4b07
10 files changed
+126
-23
No files matched your search
@@ -0,0 +1,5 @@
|
||||
package WebServer
|
||||
|
||||
type ICCCStartUpMessage struct {
|
||||
IPAddressAndPort string
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package WebServer
|
||||
|
||||
import (
|
||||
"github.com/SommerEngineering/Ocean/Handlers"
|
||||
"github.com/SommerEngineering/Ocean/Log"
|
||||
LM "github.com/SommerEngineering/Ocean/Log/Meta"
|
||||
"github.com/SommerEngineering/Ocean/Tools"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
||||
Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelINFO, LM.MessageNameSTARTUP, `Init the web server now.`)
|
||||
defer Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelINFO, LM.MessageNameSTARTUP, `Done init the web server.`)
|
||||
|
||||
serverPublicAddressPort := Tools.LocalIPAddressAndPort()
|
||||
|
||||
serverPublic = &http.Server{}
|
||||
serverPublic.Addr = serverPublicAddressPort
|
||||
serverPublic.Handler = Handlers.GetPublicMux()
|
||||
serverPublic.ReadTimeout = 10 * time.Second
|
||||
serverPublic.WriteTimeout = 10 * time.Second
|
||||
serverPublic.MaxHeaderBytes = 1024
|
||||
serverPublic.SetKeepAlivesEnabled(true)
|
||||
|
||||
serverAdmin = &http.Server{}
|
||||
serverAdmin.Addr = serverAdminAddressPort
|
||||
serverAdmin.Handler = Handlers.GetAdminMux()
|
||||
serverAdmin.ReadTimeout = 10 * time.Second
|
||||
serverAdmin.WriteTimeout = 10 * time.Second
|
||||
serverAdmin.MaxHeaderBytes = 1024
|
||||
serverAdmin.SetKeepAlivesEnabled(true)
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package WebServer
|
||||
|
||||
import (
|
||||
"github.com/SommerEngineering/Ocean/ICCC"
|
||||
"github.com/SommerEngineering/Ocean/Log"
|
||||
LM "github.com/SommerEngineering/Ocean/Log/Meta"
|
||||
)
|
||||
|
||||
func Start() {
|
||||
if serverPublic != nil {
|
||||
// Tell the whole cluster, that we are up and ready:
|
||||
data := ICCCStartUpMessage{}
|
||||
data.IPAddressAndPort = serverPublicAddressPort
|
||||
ICCC.WriteMessage2All(ICCC.ChannelSYSTEM, `System::Start`, data)
|
||||
|
||||
Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelINFO, LM.MessageNameSTARTUP, `Web server is now listening.`, `Configuration for hostname and port.`, serverPublicAddressPort)
|
||||
go serverPublic.ListenAndServe()
|
||||
}
|
||||
|
||||
if serverAdmin != nil {
|
||||
go serverAdmin.ListenAndServe()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package WebServer
|
||||
|
||||
import (
|
||||
LM "github.com/SommerEngineering/Ocean/Log/Meta"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
var (
|
||||
senderName LM.Sender = `System::WebServer`
|
||||
serverPublic *http.Server = nil
|
||||
serverAdmin *http.Server = nil
|
||||
serverPublicAddressPort string = ""
|
||||
serverAdminAddressPort string = ""
|
||||
)
|
||||
Reference in new issue
Block a user