-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
65 lines (55 loc) · 1.34 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
package main
import (
"flag"
"github.com/geraev/gokvserver/httpserver"
"github.com/geraev/gokvserver/mapbased"
"github.com/geraev/gokvserver/structs"
"github.com/geraev/gokvserver/tcpserver"
"log"
"net/http"
_ "net/http/pprof"
)
var (
flags struct {
tcpAddr string
httpAddr string
}
cache structs.Storage
accounts = map[string]string{
"iqoption": "qwerty64",
"geraev": "markus14",
}
)
func init() {
flag.StringVar(&flags.tcpAddr, "tcp-port", "9736", "The TCP port to bind to")
flag.StringVar(&flags.httpAddr, "http-port", "8081", "The HTTP port to bind to")
}
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
cache = mapbased.NewStorage()
// tcpRun()
httpRun()
}
func httpRun() {
http := httpserver.NewServer(flags.httpAddr, accounts, cache)
if err := http.Run(); err != nil {
log.Fatalln(err)
}
}
func httpDevRun() {
ttt := mapbased.TestTestStorage()
http := httpserver.NewServer(flags.httpAddr, accounts, ttt)
if err := http.Run(); err != nil {
log.Fatalln(err)
}
}
func tcpRun() {
tcp := tcpserver.NewServer(flags.tcpAddr, cache)
if err := tcp.Run(); err != nil {
log.Fatalln(err)
}
}
//TODO Заменить типы string, []string, map[string]string на собственные алиасы этих типов
//TODO Вынести error-ы сервиса в errors.go