arnaucube
arnaucube/cellMapVisualizerPublic Self-hosted repository
cellMapVisualizer/main.go
main.goRaw
 1package main
 2
 3import (
 4	"fmt"
 5	"log"
 6	"net/http"
 7	"os"
 8
 9	"github.com/fatih/color"
10	"github.com/gorilla/handlers"
11	mgo "gopkg.in/mgo.v2"
12)
13
14var cellCollection *mgo.Collection
15
16func main() {
17	//connect with mongodb
18	readMongodbConfig("./mongodbConfig.json")
19	session, err := getSession()
20	check(err)
21	cellCollection = getCollection(session, "cells")
22
23	if len(os.Args) > 1 {
24		if os.Args[1] == "-dataset" {
25			color.Blue("starting to read dataset")
26			readDataset("dataModel_head.csv")
27			color.Blue("finished reading dataset")
28		}
29	}
30
31	//http server start
32	readServerConfig("./serverConfig.json")
33	color.Green("server running")
34	fmt.Print("port: ")
35	color.Green(serverConfig.ServerPort)
36	router := NewRouter()
37
38	headersOk := handlers.AllowedHeaders([]string{"X-Requested-With", "Access-Control-Allow-Origin"})
39	originsOk := handlers.AllowedOrigins([]string{"*"})
40	methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
41	log.Fatal(http.ListenAndServe(":"+serverConfig.ServerPort, handlers.CORS(originsOk, headersOk, methodsOk)(router)))
42}