ngx.go 706 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package api
  2. import (
  3. "bufio"
  4. nginx2 "github.com/0xJacky/Nginx-UI/server/pkg/nginx"
  5. "github.com/gin-gonic/gin"
  6. "net/http"
  7. "strings"
  8. )
  9. func BuildNginxConfig(c *gin.Context) {
  10. var ngxConf nginx2.NgxConfig
  11. if !BindAndValid(c, &ngxConf) {
  12. return
  13. }
  14. c.JSON(http.StatusOK, gin.H{
  15. "content": ngxConf.BuildConfig(),
  16. })
  17. }
  18. func TokenizeNginxConfig(c *gin.Context) {
  19. var json struct {
  20. Content string `json:"content" binding:"required"`
  21. }
  22. if !BindAndValid(c, &json) {
  23. return
  24. }
  25. scanner := bufio.NewScanner(strings.NewReader(json.Content))
  26. ngxConfig, err := nginx2.ParseNgxConfigByScanner("", scanner)
  27. if err != nil {
  28. ErrHandler(c, err)
  29. return
  30. }
  31. c.JSON(http.StatusOK, ngxConfig)
  32. }