/
main.go
124 lines (101 loc) · 2.63 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package main
import (
"cludezhu/trygo/routes"
"cludezhu/trygo/libs/ginext"
"fmt"
"github.com/gin-gonic/gin"
"html/template"
// "log"
// "net/http"
"os"
"path/filepath"
// "time"
// "github.com/unrolled/render"
"github.com/gin-gonic/contrib/sessions"
"cludezhu/trygo/controller/dm"
"cludezhu/trygo/conf"
)
var templateDelims = []string{"{{%", "%}}"}
var templates *template.Template
//var rd *render.Render
func initBak() {
// initialize the templates,
// couldn't have used http://golang.org/pkg/html/template/#ParseGlob
// since we have custom delimiters.
basePath := "tpl/"
fmt.Println(basePath)
err := filepath.Walk(basePath, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
// don't process folders themselves
if info.IsDir() {
return nil
}
templateName := path[len(basePath):]
if templates == nil {
templates = template.New(templateName)
templates.Delims(templateDelims[0], templateDelims[1])
_, err = templates.ParseFiles(path)
} else {
_, err = templates.New(templateName).ParseFiles(path)
}
fmt.Printf("Processed template %s %s\n", path, templateName)
for k, v := range templates.Templates() {
fmt.Printf("Processed template %s %s\n", k, v.Name())
}
return err
})
if err != nil {
fmt.Print(err)
}
}
func main() {
fmt.Println("Booting up the server....")
gin.SetMode("release")
r := gin.Default()
r.Static("/static", "./public")
// store, _ := sessions.NewRedisStore(10, "tcp", "localhost:6379", "", []byte("secret"))
// r.Use(sessions.Sessions("__usid", store))
store := sessions.NewCookieStore([]byte("secret"))
r.Use(sessions.Sessions("__usid", store))
ginext.LoadTemplates(r, "tpl")
routes.SetRouters(r)
// connect to as for global using
setting := new(conf.Config)
setting.LoadFromJson("./conf.json")
dm.ConnectAS(setting.Aerospike.Host, setting.Aerospike.Port)
r.Run(":8000")
}
//
//func weatherHandler(c *gin.Context) {
// r := c.Request
// begin := time.Now()
// city := c.Params.ByName("city")
//
// pt := r.URL.Query().Get("pt")
// log.Printf("passed query parameter pt :: %v", pt)
//
// var m weatherProvider
//
// ovm := openWeatherMap{}
// wug := weatherUnderGround{apiKey: "c5e7c706ec76acd6"}
//
// if pt == "s" {
// m = serialMetaWeatherProvider{ovm, wug}
// } else {
// // default means parallel fetching of weather info
// m = parallelMetaWeatherProvider{ovm, wug}
// }
// data, err := m.temperature(city)
// if err != nil {
// c.Fail(http.StatusInternalServerError, err)
// return
// }
//
// c.JSON(http.StatusOK, map[string]interface{}{
// "name": city,
// "temp": data,
// "took": time.Since(begin).String(),
// })
//}