Personnalisation de la gestion HTTP 404 avec HTTProuter
HTTProuter offre la possibilité de gérer les réponses 404 manuellement. Pour y parvenir, une fonction de gestionnaire personnalisée doit être définie.
La structure Router de HTTProuter possède un champ NotFound de type http.Handler. L'interface http.Handler définit une méthode unique, ServeHTTP(ResponseWriter, *Request). Par conséquent, un gestionnaire personnalisé doit implémenter cette fonction.
Pour créer un gestionnaire personnalisé, définissez une fonction avec la signature func(http.ResponseWriter, *http.Request). Convertissez cette fonction en valeur http.Handler à l'aide de la fonction d'assistance http.HandlerFunc(). Par exemple :
<code class="go">func MyNotFound(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/plain; charset=utf-8") w.WriteHeader(http.StatusNotFound) // Set status to 404 w.Write([]byte("My NotFound handler")) } router.NotFound = http.HandlerFunc(MyNotFound)</code>
Ce gestionnaire personnalisé sera déclenché par HTTProuter. Alternativement, il peut être invoqué manuellement à partir d'autres gestionnaires en transmettant les instances ResponseWriter et *Request :
<code class="go">func ResourceHandler(w http.ResponseWriter, r *http.Request) { if ... { // Check for resource availability router.NotFound(w, r) return } // ... Serve the resource }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!