static.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package wrapper
  2. import (
  3. "net/http"
  4. "os"
  5. Images "golang-fave/engine/wrapper/resources/images"
  6. Others "golang-fave/engine/wrapper/resources/others"
  7. Styles "golang-fave/engine/wrapper/resources/styles"
  8. Templates "golang-fave/engine/wrapper/resources/templates"
  9. )
  10. func (e *Wrapper) staticResource() bool {
  11. if e.R.URL.Path == "/assets/sys/styles.css" {
  12. (*e.W).Header().Set("Content-Type", "text/css")
  13. (*e.W).Write(Styles.File_assets_sys_styles_css)
  14. return true
  15. } else if e.R.URL.Path == "/assets/sys/bootstrap.css" {
  16. (*e.W).Header().Set("Content-Type", "text/css")
  17. (*e.W).Write(Styles.File_assets_sys_bootstrap_css)
  18. return true
  19. } else if e.R.URL.Path == "/assets/sys/logo.svg" {
  20. (*e.W).Header().Set("Content-Type", "image/svg+xml")
  21. (*e.W).Write(Others.File_assets_sys_logo_svg)
  22. return true
  23. } else if e.R.URL.Path == "/assets/sys/bg.png" {
  24. (*e.W).Header().Set("Content-Type", "image/png")
  25. (*e.W).Write(Images.File_assets_sys_bg_png)
  26. return true
  27. } else if e.R.URL.Path == "/assets/sys/logo.png" {
  28. (*e.W).Header().Set("Content-Type", "image/png")
  29. (*e.W).Write(Images.File_assets_sys_logo_png)
  30. return true
  31. } else if e.R.URL.Path == "/assets/sys/fave.ico" {
  32. (*e.W).Header().Set("Content-Type", "image/x-icon")
  33. (*e.W).Write(Others.File_assets_sys_fave_ico)
  34. return true
  35. }
  36. return false
  37. }
  38. func (e *Wrapper) staticFile() bool {
  39. file := e.R.URL.Path
  40. if file == "/" {
  41. f, err := os.Open(e.DirVhostHome + "/htdocs" + "/index.htm")
  42. if err == nil {
  43. defer f.Close()
  44. http.ServeFile(*e.W, e.R, e.DirVhostHome+"/htdocs"+"/index.htm")
  45. return true
  46. } else {
  47. f, err = os.Open(e.DirVhostHome + "/htdocs" + "/index.html")
  48. if err == nil {
  49. defer f.Close()
  50. http.ServeFile(*e.W, e.R, e.DirVhostHome+"/htdocs"+"/index.html")
  51. return true
  52. }
  53. }
  54. } else {
  55. f, err := os.Open(e.DirVhostHome + "/htdocs" + file)
  56. if err == nil {
  57. defer f.Close()
  58. st, err := os.Stat(e.DirVhostHome + "/htdocs" + file)
  59. if err != nil {
  60. return false
  61. }
  62. if st.Mode().IsDir() {
  63. return false
  64. }
  65. http.ServeFile(*e.W, e.R, e.DirVhostHome+"/htdocs"+file)
  66. return true
  67. }
  68. }
  69. return false
  70. }
  71. func (e *Wrapper) printPageDefault() {
  72. (*e.W).Header().Set("Content-Type", "text/html")
  73. (*e.W).Write(Templates.PageDefault)
  74. }
  75. func (e *Wrapper) printPage404() {
  76. (*e.W).WriteHeader(http.StatusNotFound)
  77. (*e.W).Header().Set("Content-Type", "text/html")
  78. (*e.W).Write(Templates.PageError404)
  79. }