Вопрос пользователя:
Ответ нейросети:
package main
import ( "fmt" "net/http" "regexp" )
func main() { http.HandleFunc("/hello", Sanitize(SetDefaultName(StrangerHandler))) http.ListenAndServe(":8080", nil) }
func StrangerHandler(w http.ResponseWriter, r *http.Request) { name := r.URL.Query().Get("name") fmt.Fprintf(w, "hello %s", name) }
func Sanitize(next http.HandlerFunc) http.HandlerFunc { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { name := r.URL.Query().Get("name") if match, _ := regexp.MatchString("^[a-zA-Z]+$", name); !match { fmt.Fprintf(w, "hello dirty hacker") return } next.ServeHTTP(w, r) }) }
func SetDefaultName(next http.HandlerFunc) http.HandlerFunc { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { name := r.URL.Query().Get("name") if name == "" { r.URL.RawQuery = "name=stranger" } next.ServeHTTP(w, r) }) }
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.