-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
68 lines (53 loc) · 1.14 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
package main
import (
"embed"
"io/fs"
"net/http"
"pscourse/handler"
"pscourse/utils"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/filesystem"
)
/*var (
Sep string
)*/
//go:embed html
var embedHtml embed.FS
func main() {
app := fiber.New()
posh := utils.New()
/* app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
}) */
/*if runtime.GOOS == "windows" {
Sep = "\\"
} else {
Sep = "/"
}*/
//app.Static("/", "./html")
app.Get("/lessons", handler.LessonListHandler)
app.Get("/lesson/:section/:lesson", handler.LessonHandler)
app.Post("/ps/:task", func(c *fiber.Ctx) error {
return handler.PowershellHandler(c, posh)
})
type SomeStruct struct {
Name string
Age uint8
}
app.Get("/json", func(c *fiber.Ctx) error {
// Create data struct:
data := SomeStruct{
Name: "Grame",
Age: 20,
}
return c.JSON(data)
// => Content-Type: application/json
// => "{"Name": "Grame", "Age": 20}"
})
htmlSubFS, _ := fs.Sub(embedHtml, "html")
app.Use("/", filesystem.New(filesystem.Config{
Root: http.FS(htmlSubFS),
Browse: true,
}))
app.Listen(":3000")
}