Skip to content
server.go 815 B
Newer Older
Lo^2's avatar
wip
Lo^2 committed
package main

import (
Lo^2's avatar
Lo^2 committed
	"code.electrolab.fr/it/vote.electrolab.fr/app/server"
Lo^2's avatar
Lo^2 committed
	"code.electrolab.fr/it/vote.electrolab.fr/app/server/pages"
Lo^2's avatar
wip
Lo^2 committed
	"fmt"
	"net/http"
	"os"
)

func main() {
	if err := Run(); err != nil {
		fmt.Fprintf(os.Stderr, "Fatal error: %s\n", err.Error())
	}
}

func Run() error {
Lo^2's avatar
Lo^2 committed
	if len(os.Args) != 2 {
		fmt.Fprintf(os.Stderr, "Usage: %s <config.json>\n", os.Args[0])
		os.Exit(1)
	}

	config, err := server.ReadConfigFile(os.Args[1])
Lo^2's avatar
wip
Lo^2 committed
	if err != nil {
		return err
	}

Lo^2's avatar
Lo^2 committed
	app, err := server.NewApp(config)
Lo^2's avatar
wip
Lo^2 committed
	if err != nil {
		return err
	}

	mux := http.NewServeMux()
	pages.RegisterRoutes(mux, app)

Lo^2's avatar
Lo^2 committed
	fmt.Println("http://localhost:8081/events/Electrolab-AG-2021/votes?private_token=7717e6ba488ff754fea8b57b22048c6dc6115f2c37b9fc8e87321da76045cbfb")
Lo^2's avatar
Lo^2 committed
	http.ListenAndServe(":8081", mux)
Lo^2's avatar
wip
Lo^2 committed

	return nil
}