-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhttp-server.go
More file actions
46 lines (42 loc) · 1.26 KB
/
http-server.go
File metadata and controls
46 lines (42 loc) · 1.26 KB
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
package main
import (
"github.com/gin-gonic/gin"
rotateLogs "github.com/lestrrat-go/file-rotatelogs"
"log"
"time"
"workplace/internal/config"
"workplace/internal/controller/product"
"workplace/internal/controller/test"
"workplace/internal/http/middleware"
)
func main() {
cfg := config.GetConfig()
rl, err := rotateLogs.New(
cfg.RotateLogPath,
rotateLogs.WithRotationTime(24 * time.Hour),
rotateLogs.WithMaxAge(-1),
rotateLogs.WithRotationCount(30),
)
if err != nil {
log.Fatal("Cannot start logger:", err)
}
log.SetOutput(rl)
gin.DefaultWriter = rl
router := gin.Default()
v1 := router.Group("/v1", httpMiddleware.TokenRequiredMiddleware())
{
v1.GET("/test/*id", testController.Test)
product := v1.Group("/product")
{
product.GET("/", productController.List)
product.GET("/:id", productController.View)
product.POST("/", productController.Create)
product.PUT("/:id", productController.Update)
product.DELETE("/:id", productController.Delete)
}
}
err = router.Run(cfg.HttpHost + ":" + cfg.HttpPort)
if err != nil {
log.Fatal("Unable to start server:", err)
}
}