main.go 848 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package main
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "io/ioutil"
  5. )
  6. var DB = make(map[string]string)
  7. func NewApp() *gin.Engine {
  8. r := gin.Default()
  9. r.LoadHTMLGlob("templates/*.tmpl")
  10. r.GET("/", func(c *gin.Context) {
  11. c.HTML(200, "index.tmpl", gin.H{
  12. "pubTo": "Users",
  13. })
  14. })
  15. r.GET("/slides.md", func(c *gin.Context) {
  16. body, err := ioutil.ReadFile("initial-slides.md")
  17. if err != nil {
  18. panic(err)
  19. }
  20. c.String(200, string(body))
  21. })
  22. r.PUT("/slides.md", func(c *gin.Context) {
  23. c.String(403, "")
  24. })
  25. // Get user value
  26. r.GET("/user/:name", func(c *gin.Context) {
  27. user := c.Params.ByName("name")
  28. value, ok := DB[user]
  29. if ok {
  30. c.JSON(200, gin.H{"user": user, "value": value})
  31. } else {
  32. c.JSON(200, gin.H{"user": user, "status": "no value"})
  33. }
  34. })
  35. return r
  36. }
  37. func main() {
  38. r := NewApp()
  39. r.Run(":8080")
  40. }