cgi.go 976 B

123456789101112131415161718192021222324252627282930313233343536
  1. package utils
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "os"
  6. "strings"
  7. )
  8. // LogError Exit program with a HTTP Internal Error status code and a message (dump and die)
  9. func LogError(str ...string) {
  10. //fmt.Print("Status: 500 Internal server error\r\nContent-Type: text/html; charset=utf-8\r\n\r\n")
  11. fmt.Print("Status: 500 Internal server error\r\nContent-Type: text/html; charset=utf-8\r\n\r\n")
  12. fmt.Print(strings.Join(str, ", "))
  13. os.Exit(0)
  14. }
  15. // Unauthorised Exit program with a HTTP Unauthorized status code and a message (dump and die)
  16. // 重定向到NAS的主页
  17. func Unauthorised() {
  18. fmt.Print("Status: 401 Unauthorized\r\nContent-Type: text/html; charset=utf-8\r\n\r\n")
  19. os.Exit(0)
  20. }
  21. // RespData 响应数据
  22. func RespData(data any) {
  23. fmt.Print("Status: 200 OK\r\nContent-Type: application/json; charset=utf-8\r\n\r\n")
  24. r, err := json.Marshal(data)
  25. if err == nil {
  26. fmt.Print(string(r))
  27. } else {
  28. fmt.Print("marshal fail")
  29. LogError(err.Error())
  30. }
  31. os.Exit(0)
  32. }