\documentclass[]{article} \usepackage[utf8]{inputenc} \usepackage[spanish]{babel} \usepackage{listings} \usepackage{xcolor} \usepackage[a4paper, total={6.5in, 8in}]{geometry} \definecolor{codegreen}{rgb}{0,0.6,0} \definecolor{codegray}{rgb}{0.5,0.5,0.5} \definecolor{codepurple}{rgb}{0.58,0,0.82} \definecolor{backcolour}{rgb}{0.95,0.95,0.92} \lstdefinestyle{mystyle}{ backgroundcolor=\color{backcolour}, commentstyle=\color{codegreen}, keywordstyle=\color{magenta}, numberstyle=\tiny\color{codegray}, stringstyle=\color{codepurple}, basicstyle=\ttfamily\footnotesize, breakatwhitespace=false, breaklines=true, captionpos=b, keepspaces=true, numbers=left, numbersep=5pt, showspaces=false, showstringspaces=false, showtabs=false, tabsize=2 } \lstset{style=mystyle} \newcommand{\quotes}[1]{``#1''} %opening \title{Manejadores de rutas en HTTP} \author{Asistente de OpenAI} \date{} \begin{document} \maketitle Un manejador de rutas en HTTP es una función encargada de responder a una solicitud HTTP. Suele estar asociado a una ruta específica (es decir, un punto final o una ruta en el servidor) y se llama cuando se hace una solicitud a esa ruta. \\\\ Por ejemplo, considere el siguiente código: \begin{lstlisting}[language=Go] http.HandleFunc("/hola", func(w http.ResponseWriter, r *http.Request)) { fmt.Fprintf(w, "Hola, mundo!") } \end{lstlisting} En este código, la función anónima (es decir, \texttt{func(w http.ResponseWriter, r *http.Request) \{ fmt.Fprintf(w, "¡Hola, mundo!") \} }) es un manejador que responde a las solicitudes hechas a la ruta \texttt{/hola} escribiendo la cadena \quotes{\texttt{¡Hola, mundo!}} en la respuesta. \\\\ Los manejadores también pueden ser implementados como métodos de tipos que cumplan con la interfaz \texttt{http.Handler}. Por ejemplo: \begin{lstlisting}[language=Go] func (m *messageHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, m.message) } \end{lstlisting} En este caso, el método \texttt{ServeHTTP} es el manejador, y puede ser establecido como el manejador de una ruta con el siguiente código: \begin{lstlisting} http.Handle("/mensaje", &messageHandler{mensaje: "Hola, mundo!"}) \end{lstlisting} En la firma del método \texttt{ServeHTTP}: \begin{abstract} \end{abstract} \section{} \end{document}