arnaucube
arnaucube/cellMapVisualizerPublic Self-hosted repository
cellMapVisualizer/main.go
main.goRaw
 1package main
 2
 3import (
 4	"log"
 5	"net/http"
 6	"os"
 7
 8	"github.com/gorilla/handlers"
 9	mgo "gopkg.in/mgo.v2"
10)
11
12var cellCollection *mgo.Collection
13
14func main() {
15	savelog()
16
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			log.Println("starting to read dataset")
26			readDataset("cell_towers.csv")
27			//readDataset("dataModel_head.csv")
28			log.Println("finished reading dataset")
29		}
30	}
31
32	//http server start
33	readServerConfig("./serverConfig.json")
34	log.Println("server running")
35	log.Print("port: ")
36	log.Println(serverConfig.ServerPort)
37	router := NewRouter()
38
39	headersOk := handlers.AllowedHeaders([]string{"X-Requested-With", "Access-Control-Allow-Origin"})
40	originsOk := handlers.AllowedOrigins([]string{"*"})
41	methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
42	log.Fatal(http.ListenAndServe(":"+serverConfig.ServerPort, handlers.CORS(originsOk, headersOk, methodsOk)(router)))
43}