Cabaceras en Flask

29/Mar/2016 Python

Cuando respondemos un contenido desde un servidor a un cliente uno de los contenidos que va en la respuesta (o response) son las cabeceras. Las cabeceras suelen llevar información o bien sobre el contenido de la petición o bien sobre el servidor que está sirviendo la petición. En este artículo vamos a ver cómo podemos manejar las cabeceras en Flask para una petición.

Lo primero que tenemos que saber para poder manejar las cabeceras en Flask es como son las respuesta que devolvemos al cliente. Lo más utilizado puede ser el ver una plantilla como respuesta mediante el método render_template() o simplemente devolver un texto, ya sea plano o XML o JSON.

Si bien en todos los casos lo que se devuelve es un objeto response. Si queremos crear un objeto response vacío podemos utilizar el método make_response().

Así podemos crear el siguiente objeto response con texto:

  1. resp = make_response('Respuesta de texto')

Lo bueno es que dentro del objeto response tiene una colección llamada headers en la que van las cabeceras de la respuesta. De esta forma si queremos modificar las cabeceras en Flask y añadir una cabecera personalizada podremos escribir.

  1. resp.headers['micabecera'] = 'Mi Contenido'

O podemos sobre escribir alguna de las cabeceras que se devuelve. Por ejemplo podemos "tunear" la cabecera del servidor de la siguiente forma:

  1. resp.headers['Server'] = 'Mi Servidor'

Ya solo nos quedará devolver el objeto response como resultado del método:

  1. @app.route('/')
  2. def holamundo():
  3. resp = make_response('Respuesta de texto')
  4. resp.headers['Server'] = 'Mi Servidor'
  5. return resp

Ya hemos visto lo sencillo que es manejar las cabeceras en Flask.

Vídeos sobre Flask


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D