Add documentation
This commit is contained in:
1 parent
69d0bdabf4
commit
6dab89a1d4
144 files changed
+1107
-549
No files matched your search
+21
-1
@@ -13,14 +13,19 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
// Setup the web server.
|
||||
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.`)
|
||||
|
||||
// Public web server: use the servers public facing IP address and the configured port:
|
||||
serverPublicAddressPort = Tools.LocalIPAddressAndPort()
|
||||
|
||||
// Private web server: use the configured end point:
|
||||
serverAdminAddressPort = ConfigurationDB.Read(`AdminWebServerBinding`)
|
||||
|
||||
// Setup the public web server:
|
||||
serverPublic = &http.Server{}
|
||||
serverPublic.Addr = serverPublicAddressPort
|
||||
serverPublic.Handler = Handlers.GetPublicMux()
|
||||
@@ -28,6 +33,8 @@ func init() {
|
||||
|
||||
// Public Web Server: Read Timeout
|
||||
if readTimeoutSeconds, errTimeout := strconv.Atoi(ConfigurationDB.Read(`PublicWebServerReadTimeoutSeconds`)); errTimeout != nil {
|
||||
|
||||
// Case: Error! Use a default timeout:
|
||||
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelWARN, LM.SeverityLow, LM.ImpactLow, LM.MessageNameCONFIGURATION, `Was not able to read the public server's read timeout value. Use the default of 10 seconds instead.`, errTimeout.Error())
|
||||
serverPublic.ReadTimeout = 10 * time.Second
|
||||
} else {
|
||||
@@ -37,6 +44,8 @@ func init() {
|
||||
|
||||
// Public Web Server: Write Timeout
|
||||
if writeTimeoutSeconds, errTimeout := strconv.Atoi(ConfigurationDB.Read(`PublicWebServerWriteTimeoutSeconds`)); errTimeout != nil {
|
||||
|
||||
// Case: Error! Use a default timeout:
|
||||
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelWARN, LM.SeverityLow, LM.ImpactLow, LM.MessageNameCONFIGURATION, `Was not able to read the public server's write timeout value. Use the default of 10 seconds instead.`, errTimeout.Error())
|
||||
serverPublic.WriteTimeout = 10 * time.Second
|
||||
} else {
|
||||
@@ -46,6 +55,8 @@ func init() {
|
||||
|
||||
// Public Web Server: Max. Header Size
|
||||
if maxHeaderBytes, errHeaderBytes := strconv.Atoi(ConfigurationDB.Read(`PublicWebServerMaxHeaderLenBytes`)); errHeaderBytes != nil {
|
||||
|
||||
// Case: Error! Use a default threshold for the header size:
|
||||
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelWARN, LM.SeverityLow, LM.ImpactLow, LM.MessageNameCONFIGURATION, `Was not able to read the public server's max. header size. Use the default of 1048576 bytes instead.`, errHeaderBytes.Error())
|
||||
serverPublic.MaxHeaderBytes = 1048576
|
||||
} else {
|
||||
@@ -53,7 +64,10 @@ func init() {
|
||||
serverPublic.MaxHeaderBytes = maxHeaderBytes
|
||||
}
|
||||
|
||||
// Is the private web server (i.e. administration server) enabled?
|
||||
if strings.ToLower(ConfigurationDB.Read(`AdminWebServerEnabled`)) == `true` {
|
||||
|
||||
// Setup the private web server:
|
||||
serverAdmin = &http.Server{}
|
||||
serverAdmin.Addr = serverAdminAddressPort
|
||||
serverAdmin.Handler = Handlers.GetAdminMux()
|
||||
@@ -61,6 +75,8 @@ func init() {
|
||||
|
||||
// Admin Web Server: Read Timeout
|
||||
if readTimeoutSeconds, errTimeout := strconv.Atoi(ConfigurationDB.Read(`AdminWebServerReadTimeoutSeconds`)); errTimeout != nil {
|
||||
|
||||
// Case: Error! Use a default timeout:
|
||||
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelWARN, LM.SeverityLow, LM.ImpactLow, LM.MessageNameCONFIGURATION, `Was not able to read the admin server's read timeout value. Use the default of 10 seconds instead.`, errTimeout.Error())
|
||||
serverAdmin.ReadTimeout = 10 * time.Second
|
||||
} else {
|
||||
@@ -70,6 +86,8 @@ func init() {
|
||||
|
||||
// Admin Web Server: Write Timeout
|
||||
if writeTimeoutSeconds, errTimeout := strconv.Atoi(ConfigurationDB.Read(`AdminWebServerWriteTimeoutSeconds`)); errTimeout != nil {
|
||||
|
||||
// Case: Error! Use a default timeout:
|
||||
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelWARN, LM.SeverityLow, LM.ImpactLow, LM.MessageNameCONFIGURATION, `Was not able to read the admin server's write timeout value. Use the default of 10 seconds instead.`, errTimeout.Error())
|
||||
serverAdmin.WriteTimeout = 10 * time.Second
|
||||
} else {
|
||||
@@ -79,6 +97,8 @@ func init() {
|
||||
|
||||
// Admin Web Server: Max. Header Size
|
||||
if maxHeaderBytes, errHeaderBytes := strconv.Atoi(ConfigurationDB.Read(`AdminWebServerMaxHeaderLenBytes`)); errHeaderBytes != nil {
|
||||
|
||||
// Case: Error! Use a default threshold for the header size:
|
||||
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelWARN, LM.SeverityLow, LM.ImpactLow, LM.MessageNameCONFIGURATION, `Was not able to read the admin server's max. header size. Use the default of 1048576 bytes instead.`, errHeaderBytes.Error())
|
||||
serverAdmin.MaxHeaderBytes = 1048576
|
||||
} else {
|
||||
@@ -86,7 +106,7 @@ func init() {
|
||||
serverAdmin.MaxHeaderBytes = maxHeaderBytes
|
||||
}
|
||||
} else {
|
||||
// Admin Web Server is disabled
|
||||
// Private web server is disabled:
|
||||
Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelINFO, LM.MessageNameSTARTUP, `The admin web server is disabled.`)
|
||||
}
|
||||
}
|
||||
@@ -12,17 +12,20 @@ func Start() {
|
||||
// Tell the whole cluster, that we are up and ready:
|
||||
data := SystemMessages.ICCCStartUpMessage{}
|
||||
|
||||
// Start the public web server:
|
||||
if serverPublic != nil {
|
||||
data.PublicIPAddressAndPort = serverPublicAddressPort
|
||||
Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelINFO, LM.MessageNameSTARTUP, `Public web server is now listening.`, `Configuration for hostname and port.`, serverPublicAddressPort)
|
||||
go serverPublic.ListenAndServe()
|
||||
}
|
||||
|
||||
// Start the private web server:
|
||||
if serverAdmin != nil {
|
||||
data.AdminIPAddressAndPort = serverAdminAddressPort
|
||||
Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelINFO, LM.MessageNameSTARTUP, `Admin web server is now listening.`, `Configuration for hostname and port.`, serverAdminAddressPort)
|
||||
go serverAdmin.ListenAndServe()
|
||||
}
|
||||
|
||||
// Notify the whole cluster, that this server is now up and ready:
|
||||
ICCC.WriteMessage2All(ICCC.ChannelSYSTEM, `System::Start`, data)
|
||||
}
|
||||
@@ -6,9 +6,9 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
senderName LM.Sender = `System::WebServer`
|
||||
serverPublic *http.Server = nil
|
||||
serverAdmin *http.Server = nil
|
||||
serverPublicAddressPort string = ""
|
||||
serverAdminAddressPort string = ""
|
||||
senderName LM.Sender = `System::WebServer` // This is the name for logging event from this package
|
||||
serverPublic *http.Server = nil // The public web server
|
||||
serverAdmin *http.Server = nil // The private web server
|
||||
serverPublicAddressPort string = "" // The public server end-point
|
||||
serverAdminAddressPort string = "" // The private server end-point
|
||||
)
|
||||
Reference in new issue
Block a user