arnaucube
arnaucube/darkID-prototypePublic Self-hosted repository
darkID-prototype/clientApp/main.go
clientApp/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)
12
13const keysDir = "keys"
14const keysize = 2048
15const hashize = 1536
16
17func main() {
18	color.Blue("Starting darkID clientApp")
19
20	readConfig("config.json")
21	fmt.Println(config)
22
23	//create models directory
24	_ = os.Mkdir(keysDir, os.ModePerm)
25
26	//run thw webserver
27	go GUI()
28
29	//run API
30	log.Println("api server running")
31	log.Print("port: ")
32	log.Println(config.Port)
33	router := NewRouter()
34	headersOk := handlers.AllowedHeaders([]string{"X-Requested-With", "Access-Control-Allow-Origin"})
35	originsOk := handlers.AllowedOrigins([]string{"*"})
36	methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
37	log.Fatal(http.ListenAndServe(":"+config.Port, handlers.CORS(originsOk, headersOk, methodsOk)(router)))
38}
39
40func GUI() {
41	//here, run webserver
42	log.Println("webserver in port " + "8080")
43	http.Handle("/", http.FileServer(http.Dir("./GUI")))
44	http.ListenAndServe(":"+"8080", nil)
45}