Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

182
Vistas
¿Cómo devolver texto sin formato desde el punto final del matraz? Necesitado por Prometeo

Necesito configurar un punto final /metrics para que Prometheus pueda consumir estadísticas sobre un punto final. ¿Cómo voy a hacer esto?

Tengo esto en mi aplicación Flask:

 @app.route('/metrics') def metrics(): def generateMetrics(): metrics = "" ... some string builder logic return metrics response = make_response(generateMetrics(), 200) response.mimetype = "text/plain" return response

Es esta la mejor manera? ¿Cuál es la diferencia entre devolver una cadena (solo devolver metrics aquí) y devolver texto sin formato? ¿Por qué necesito el mimetype?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es esta la mejor manera?

Hay varias formas de configurar el tipo MIME, mejor explicadas y discutidas en esta pregunta de StackOverflow . Su manera funciona bien y hace el trabajo.

¿Cuál es la diferencia entre devolver una cadena y devolver texto sin formato?

Si devuelve una cadena, Flask manejará automáticamente parte de la lógica de respuesta por usted . Esto significa usar algunos valores predeterminados. Si configura dos puntos finales diferentes, verá que la diferencia es que su código devuelve el siguiente encabezado:

 Content-Type:"text/plain; charset=utf-8"

Mientras que solo devolver una cadena (y el tipo MIME predeterminado) devolvería el siguiente encabezado:

 Content-Type:"text/html; charset=utf-8"

¿Por qué necesito el mimetype?

Podría decir que técnicamente es más correcto, dado que su respuesta es simplemente texto sin formato y no HTML. Sin embargo, una razón más convincente para necesitarlo sería que un sistema de terceros que está utilizando (Prometheus) depende o se preocupa por los contenidos del encabezado "Tipo de contenido". Si lo hacen, debe configurarlo para que lo acepten.

Código de ejemplo

Para la demostración del encabezado Content-Type, utilicé el siguiente código Python de ejemplo:

 from flask import Flask, make_response app = Flask(__name__) def generateMetrics(): return "hello world" @app.route('/metrics') def metrics(): response = make_response(generateMetrics(), 200) response.mimetype = "text/plain" return response @app.route('/metrics2') def metrics2(): return generateMetrics()

Luego vi el cuerpo y los encabezados devueltos usando Postman.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda