Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

177
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda