| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package main
- import (
- "log"
- "net/http"
- "time"
- )
- type timeHandler struct {
- format string
- }
- func (th *timeHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
- tm := time.Now().Format(th.format)
- w.Write([]byte("The time is: " + tm))
- }
- func handler(w http.ResponseWriter, r *http.Request) {
- w.Write([]byte("OK!"))
- }
- func main() {
- /*
- // создаем свой serveMux
- serveMux := http.NewServeMux()
- serveMux.HandleFunc("/", handler)
- // Запускаем веб-сервер на порту 8080 с нашим serveMux
- // (в прошлых примерах был nil)
- err := http.ListenAndServe(":8080" serverMux)
- if err != nil {
- fmt.Println("Ошибка запуска сервера:", err)
- }
- */
- mux := http.NewServeMux()
- th1123 := &timeHandler{format: time.RFC1123}
- mux.Handle("/time/rfc1123", th1123)
- th3339 := &timeHandler{format: time.RFC3339}
- mux.Handle("/time/rfc3339", th3339)
- log.Println("Listening...")
- http.ListenAndServe(":3000", mux)
- }
|