You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
package gopher
|
|
|
|
import (
|
|
"flag"
|
|
"gophi/core"
|
|
)
|
|
|
|
// setup parses gopher specific flags, and all core flags, preparing server for .Run()
|
|
func setup() {
|
|
pWidth := flag.Uint(pageWidthFlagStr, 80, pageWidthDescStr)
|
|
footerText := flag.String(footerTextFlagStr, "Gophi, a Gopher server in Go!", footerTextDescStr)
|
|
subgopherSizeMax := flag.Float64(subgopherSizeMaxFlagStr, 1.0, subgopherSizeMaxDescStr)
|
|
admin := flag.String(adminFlagStr, "", adminDescStr)
|
|
desc := flag.String(descFlagStr, "", descDescStr)
|
|
geo := flag.String(geoFlagStr, "", geoDescStr)
|
|
core.ParseFlagsAndSetup("gopher", generateErrorMessage)
|
|
|
|
// Setup gopher specific global variables
|
|
subgophermapSizeMax = int64(1048576.0 * *subgopherSizeMax) // convert float to megabytes
|
|
pageWidth = int(*pWidth)
|
|
footer = buildFooter(*footerText)
|
|
gophermapRegex = compileGophermapRegex()
|
|
|
|
// Generate capability files
|
|
capsTxt := generateCapsTxt(*desc, *admin, *geo)
|
|
robotsTxt := generateRobotsTxt()
|
|
|
|
// Add generated files to cache
|
|
core.FileSystem.AddGeneratedFile(core.NewPath(core.Root, "caps.txt"), capsTxt)
|
|
core.FileSystem.AddGeneratedFile(core.NewPath(core.Root, "robots.txt"), robotsTxt)
|
|
}
|
|
|
|
// Run does as says :)
|
|
func Run() {
|
|
setup()
|
|
core.Start(serve)
|
|
}
|