Advertisement
Guest User

gorila mux

a guest
Dec 24th, 2015
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.43 KB | None | 0 0
  1.  
  2. /*
  3.  
  4. дерево такое
  5. ============
  6. gormux
  7. index.html
  8. css/
  9.     css.css
  10.  
  11. index.html выглядит так
  12. =======================
  13. <!DOCTYPE html>
  14. <html>
  15. <head>
  16.     <title>title</title>
  17.     <link rel="stylesheet" type="text/css" href="/css/css.css" />
  18. </head>
  19. <body>
  20. <h1> MOTHERFUCKERS </h1>
  21. </body>
  22. </html>
  23.  
  24. css/css.css выглядит так
  25. ========================
  26. h1 {font-size: 2em;
  27.     color: #3344aa;
  28.     text-decoration: underline; }
  29.  
  30. gormux - это исполняемый файл, его код
  31. ======================================
  32. */
  33. package main
  34.  
  35. import (
  36.     "github.com/gorilla/mux"
  37.  
  38.     "fmt"
  39.     "html/template"
  40.     "net/http"
  41. )
  42.  
  43. // Это конечно не имеет значения в рамках примера и зависит от ситуации,
  44. // но я бы загружал и парсил шаблоны при старте, а потом только Execute.
  45. func home(rw http.ResponseWriter, rq *http.Request) {
  46.     t := template.New("index.html")
  47.     t, _ = t.ParseFiles("./index.html")
  48.     err := t.Execute(rw, nil)
  49.     if err != nil {
  50.         fmt.Fprint(rw, err)
  51.         return
  52.     }
  53. }
  54.  
  55. func main() {
  56.     r := mux.NewRouter()
  57.     r.HandleFunc("/", home)
  58.     r.HandleFunc("/a", home)
  59.     r.HandleFunc("/a/b", home)
  60.     r.HandleFunc("/a/b/c", home)
  61.     r.PathPrefix("/css/").Handler(http.StripPrefix("/css/", http.FileServer(http.Dir("./css/"))))
  62.     http.Handle("/", r)
  63.     fmt.Println(http.ListenAndServe(":8080", nil))
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement