mirror of
https://github.com/shlldev/miniws.git
synced 2025-09-02 19:00:59 +02:00
www folder parameter
This commit is contained in:
3
main.go
3
main.go
@@ -14,6 +14,7 @@ func main() {
|
||||
port := parser.Int("p", "port", &argparse.Options{Default: 8040})
|
||||
logFolder := parser.String("l", "logs-folder", &argparse.Options{Default: "logs"})
|
||||
configFolder := parser.String("c", "config-folder", &argparse.Options{Default: "config"})
|
||||
wwwFolder := parser.String("w", "www-folder", &argparse.Options{Default: "www"})
|
||||
|
||||
err := parser.Parse(os.Args)
|
||||
if err != nil {
|
||||
@@ -23,6 +24,6 @@ func main() {
|
||||
return
|
||||
}
|
||||
|
||||
webserver := miniws.NewWebServer(*port, *logFolder, *configFolder)
|
||||
webserver := miniws.NewWebServer(*port, *logFolder, *configFolder, *wwwFolder)
|
||||
webserver.Run()
|
||||
}
|
||||
|
@@ -22,18 +22,20 @@ type WebServer struct {
|
||||
logger *Logger
|
||||
port int
|
||||
configFolder string
|
||||
wwwFolder string
|
||||
ipFilter []string
|
||||
userAgentFilter []string
|
||||
ipFilterMode FilterMode
|
||||
userAgentFilterMode FilterMode
|
||||
}
|
||||
|
||||
func NewWebServer(port_ int, logFolder_, configFolder_ string) *WebServer {
|
||||
func NewWebServer(port_ int, logFolder_, configFolder_, wwwFolder_ string) *WebServer {
|
||||
|
||||
return &WebServer{
|
||||
logger: NewLogger(logFolder_),
|
||||
port: port_,
|
||||
configFolder: configFolder_,
|
||||
wwwFolder: wwwFolder_,
|
||||
ipFilter: make([]string, 0),
|
||||
userAgentFilter: make([]string, 0),
|
||||
ipFilterMode: FILTER_MODE_BLACKLIST,
|
||||
@@ -43,6 +45,11 @@ func NewWebServer(port_ int, logFolder_, configFolder_ string) *WebServer {
|
||||
|
||||
func (ws *WebServer) Run() {
|
||||
|
||||
_, err := os.Stat(ws.wwwFolder)
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
log.Fatalln("Fatal: www folder " + ws.wwwFolder + " does not exist")
|
||||
}
|
||||
|
||||
ws.ipFilterMode, ws.ipFilter = ws.parseFilterPanics(FILENAME_IPFILTER)
|
||||
ws.userAgentFilterMode, ws.userAgentFilter = ws.parseFilterPanics(FILENAME_USERAGENTFILTER)
|
||||
|
||||
@@ -146,7 +153,7 @@ func (ws *WebServer) get(writer http.ResponseWriter, req *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
fetchedData, fetchErr := ws.fetchFileContents(req.URL.Path)
|
||||
fetchedData, fetchErr := ws.fetchFileContents(ensureSlashSuffix(ws.wwwFolder) + req.URL.Path)
|
||||
|
||||
sentBytes := 0
|
||||
|
||||
|
Reference in New Issue
Block a user