Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

184
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!