Этот коммит содержится в:
Igor V Belousov 2021-11-23 21:30:21 +03:00
родитель 93bac1ad36
Коммит 91275c0da8

33
ch1/server2.go Обычный файл
Просмотреть файл

@ -0,0 +1,33 @@
// Server2 - минимальный "echo"-сервер со счетчиком запросов.
package main
import (
"fmt"
"log"
"net/http"
"sync"
)
var mu sync.Mutex
var count int
func main() {
http.HandleFunc("/", handler)
http.HandleFunc("/count", counter)
log.Fatal(http.ListenAndServe("localhost:8888", nil))
}
// Обрабочик, возвращающий количество сделанных запросов.
func handler(w http.ResponseWriter, r *http.Request) {
mu.Lock()
count++
mu.Unlock()
fmt.Fprintf(w, "URL.Path = %q\n", r.URL.Path)
}
// Счетчик, возвращающий количество сделанных запросов.
func counter(w http.ResponseWriter, r *http.Request) {
mu.Lock()
fmt.Fprintf(w, "Count %d\n", count)
mu.Unlock()
}