تمرين إعادة البناء
HTTP Status Checker
أعد كتابة برنامج Go يفحص حالات HTTP باستخدام خادم محلي.
go
~20 دقيقة
متوسط
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
package main
import (
"fmt"
"net/http"
"net/http/httptest"
)
func statusCode(handler http.Handler, path string) int {
request := httptest.NewRequest(http.MethodGet, path, nil)
recorder := httptest.NewRecorder()
handler.ServeHTTP(recorder, request)
return recorder.Result().StatusCode
}
func main() {
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if r.URL.Path == "/health" {
w.WriteHeader(http.StatusOK)
return
}
http.NotFound(w, r)
})
for _, path := range []string{"/health", "/missing"} {
code := statusCode(handler, path)
fmt.Printf("%s -> %d\n", path, code)
}
}اكتب هنا