You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 line
858B

  1. package main
  2. // [START import]
  3. import (
  4. "log"
  5. "net/http"
  6. )
  7. // [END import]
  8. // [START main_func]
  9. func main() {
  10. err := config.readConfig() //
  11. if err != nil {
  12. log.Println(err)
  13. log.Fatalf("unable to read %s, program quit\n", configFile)
  14. return
  15. }
  16. // [START setting_port]
  17. port := config.Port
  18. if port == "" {
  19. port = "8081"
  20. log.Printf("Defaulting to port %s", port)
  21. }
  22. // [END setting_port]
  23. setupRootFileServer()
  24. //always last
  25. setupHTTPHandler()
  26. }
  27. // [END main_func]
  28. func setupRootFileServer() {
  29. //root of doc
  30. for idx, node := range config.Static {
  31. log.Printf("setting up static %d with %+v\n", idx, node)
  32. fs := FileServerWith404(http.Dir(node.Dir), fileSystem404)
  33. http.Handle(node.StaticUrl, http.StripPrefix(node.StripPrefix, fs))
  34. if node.Sync != "" {
  35. // go pullStaticHtml(node.Dir, node.Sync, config.RSyncKey)
  36. }
  37. }
  38. }