Вопрос пользователя:
Ответ нейросети:
package main
import ( "encoding/json" "net/http" )
func main() { http.HandleFunc("/rpc", RPC(Sanitize(helloHandler))) http.ListenAndServe(":8080", nil) }
func helloHandler(w http.ResponseWriter, r *http.Request) { response := map[string]interface{}{ "status": "ok", "result": map[string]string{ "greetings": "hello", "name": "stranger", }, } json.NewEncoder(w).Encode(response) }
func Sanitize(next http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { name := r.URL.Query().Get("name") if name == "" { http.Error(w, "Name parameter is required", http.StatusBadRequest) return } if name == "admin" { panic("Invalid name") } next(w, r) } }
func RPC(next http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { defer func() { if r := recover(); r != nil { response := map[string]interface{}{ "status": "error", "result": map[string]string{}, } json.NewEncoder(w).Encode(response) } }() next(w, r) } }
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.