func runServer() { secrets := auth.HtpasswdFileProvider(".htpasswd") a := auth.BasicAuthenticator("oldbailey", secrets) http.HandleFunc("/static/", view.StaticHandler) http.HandleFunc("/case/", a(view.CaseHandler)) http.HandleFunc("/search", a(view.SearchHandler)) http.HandleFunc("/cache", a(view.CacheHandler)) log.Println("Staring server on port 2258") log.Fatal(http.ListenAndServe(":2258", nil)) }
func main() { authenticator := auth.BasicAuthenticator("example.com", Secret) rpcServer = rpc.NewServer() rpcServer.RegisterCodec(json.NewCodec(), "application/json") rpcServer.RegisterService(new(HelloService), "") http.HandleFunc("/rpc", authenticator(handler)) err := http.ListenAndServe(":9000", nil) if err != nil { log.Fatal(err) } }
func main() { var config_path = flag.String("config", "", "Path to the config file") flag.Parse() if *config_path == "" { log.Fatal("Give path to the config file with -path=") } b, err := ioutil.ReadFile(*config_path) if err != nil { log.Fatal(err) } err = json.Unmarshal(b, &config) if err != nil { log.Fatal(err) } if config.Port == 0 || config.Auth_file == "" || len(config.Log_files) == 0 { log.Fatal("Invalid configuration") } watcher, err := fsnotify.NewWatcher() if err != nil { log.Fatal(err) } go func() { for { select { case ev := <-watcher.Event: log.Println("event:", ev) case err := <-watcher.Error: log.Println("error:", err) } } }() for _, v := range config.Log_files { log.Print(v.Path) err = watcher.Watch(v.Path) if err != nil { log.Fatal(err) } } secrets := auth.HtpasswdFileProvider(config.Auth_file) authenticator := auth.BasicAuthenticator("logserv", secrets) http.HandleFunc("/", authenticator(rootHandler)) http.Handle("/websocket", websocket.Handler(EchoServer)) listen_address := fmt.Sprintf(":%d", config.Port) http.ListenAndServe(listen_address, nil) if err != nil { panic("ListenAndServe: " + err.Error()) } watcher.Close() }