-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.go
104 lines (100 loc) · 5.15 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
package main
import (
"example.com/kate/adapterType"
"example.com/kate/config"
"example.com/kate/controller"
"flag"
"fmt"
"github.com/gorilla/mux"
"log"
"net/http"
"os"
)
func main() {
err := config.Init()
if err != nil {
fmt.Println("Ошибка в файле my.ini, неправильно задан адрес или флаг", err)
os.Exit(1)
}
c := config.Get()
flagComand := c.ConcreteAdapterType
fmt.Println("Флаг команды", flagComand)
//получение и считывание значения флага, возможные значения флага берутся из adapterType
var concreteAdapterType string
flag.StringVar(&concreteAdapterType, "concreteAdapterType", string(flagComand), "")
flag.Parse()
var p adapterType.AdapterType
//присваивание считанного значения флага структуре adapterType
p = adapterType.AdapterType(concreteAdapterType)
fmt.Println("какой адаптер тайп", concreteAdapterType)
//adType:=make([]string,0)
//adType=append(adType, adapter.FileAdapterType)
//adType=append(adType,adapter.DataBaseAdapterType)
//запуск роутера
router := mux.NewRouter()
fmt.Println("А теперь запуск сервера")
//router.HandleFunc регистрация первого маршрута, с URL оканчивающимся на "/users" и методом GET, создает новый экземпляр конструктора
//контроллера с аргументом DB, прием-передача параметров функции контроллера Getusers
router.HandleFunc(
"/do",
func(res http.ResponseWriter, req *http.Request) {
//userCtrl := controller.NewUserCtrl()
con := controller.NewController(p)
con.HandleHttp(res, req)
},
).Methods("GET")
//router.HandleFunc регистрация маршрута, с URL оканчивающимся на /document и методом GET, создает новый экземпляр конструктора
//контроллера, прием-передача параметров метода GetSimpleTable по получению пустой таблицы html
router.HandleFunc(
"/document",
func(res http.ResponseWriter, req *http.Request) {
con := controller.NewDocumentController(p)
con.GetSimpleTable(res, req)
},
).Methods("GET")
//router.HandleFunc регистрация маршрута, с URL оканчивающимся на /complex и методом GET, создает новый экземпляр конструктора
//контроллера, прием-передача параметров метода GetComplexTable по получению пустой таблицы html со слитыми в определенном порядке ячейками
router.HandleFunc(
"/complex",
func(res http.ResponseWriter, req *http.Request) {
//userCtrl := controller.NewUserCtrl()
con := controller.NewDocumentController(p)
con.GetComplexTable(res, req)
},
).Methods("GET")
//router.HandleFunc регистрация маршрута, с URL оканчивающимся на /cols/{sizeCols}/rows/{sizeRows} и методом GET, создает новый экземпляр конструктора
//контроллера, прием-передача параметров метода GetCertainSizeTable по получению пустой таблицы html с заданными через URL количество столбцов и строк
router.HandleFunc(
"/cols/{sizeCols}/rows/{sizeRows}",
func(res http.ResponseWriter, req *http.Request) {
//userCtrl := controller.NewUserCtrl()
con := controller.NewDocumentController(p)
con.GetCertainSizeTable(res, req)
},
).Methods("GET")
//router.HandleFunc регистрация маршрута, с URL оканчивающимся на /documentation и методом GET, создает новый экземпляр конструктора
//контроллера, прием-передача параметров метода GetDocumentationTable по получению таблицы html с документами, модулями и ошибками
router.HandleFunc(
"/documentation",
func(res http.ResponseWriter, req *http.Request) {
//userCtrl := controller.NewUserCtrl()
con := controller.NewDocumentController(p)
con.GetDocumentationTable(res, req)
},
).Methods("GET")
////router.HandleFunc регистрация маршрута, с URL оканчивающимся на /directories и методом GET, создает новый экземпляр конструктора
//контроллера, прием-передача параметров метода GetDirectoriesTable по получению таблицы html
//из структуры любой вложенности
router.HandleFunc(
"/directories",
func(res http.ResponseWriter, req *http.Request) {
//userCtrl := controller.NewUserCtrl()
con := controller.NewDocumentController(p)
con.GetDirectoriesTable(res, req)
},
).Methods("GET")
log.Println("Starting HTTP server on :5000")
log.Fatal(
http.ListenAndServe(":5000", router),
)
}