Skip to main content

Cleandev Response Builder

Con esta libreria podras constuir "Response" para las apis de una forma facil usando un fichero de codigos de error para retornar mensajes en tus APIS.

Properties Requerido Valor por defecto Descripción
name_file_codes :heavy_check_mark: - Nombre del archivo de los codigos de error

Es una clase con un solo método y varios parametros que analizaremos a continuación

Configuracion

El archivo properties.ini existe una varaible name_file_codes donde es la ruta de un fichero que contiene un json con codigos y mensajes predefinidos

properties.ini

[RESP_BUILDER]
name_file_codes=resp_codes.json

resp_codes.json

{
  "ERROR": {
    "message": "Error"
  },
  "SUCCESS": {
    "message": "Success"
  }
}

mediante esta configuracion podremos acceder al contenido mediante el codigo

Ejemplo

Definimos el siguiente endpoint /login en nuestra Api

from resp_builder import ResponseBuilder
from flask import Response

respose_builder = ResponseBuilder()
response: Response = respose_builder.response(
    code='SUCCESS',
    data={'anykey': 'anyvalue'},
    status_code=200,
    is_merge=True
)
print(response.json)  # {"message": "Success", "anykey": "anyvalue"} http_code = 200

En este caso la salida de la request es {"message": "Success", "anykey": "anyvalue"} con un codigo http 200 OK

Parametros

code: Este es el codigo que debe estar en el fichero resp_codes.json y retornara el valor asociado a dicho código data: Este parametro añade informacion extra a el response final, añadiendo los datos a la data que devuelve junto con el codigo del fichero antes mencionado. status_code: Codigo http del response is_merge: Por defecto is_merge es False su implicación es en la forma que se construye los datos que retorna el respone, en caso de ser False se genera por un lado los datos provenientes del codigo del fichero resp_codes.json y por otro los datos que pasamos en data dentro de una llave data en el json resultante.

Ejemplos

Para el siguiente caso se mezclan el contenido que viene del fichero de codigos {"message": "Success"} + lo que se le pasa en la variable data y dado que is merge es True no crea la llave data en el json resultante

from resp_builder import ResponseBuilder
from flask import Response

respose_builder = ResponseBuilder()
response: Response = respose_builder.response(
    code='SUCCESS',
    data={'anykey': 'anyvalue'},
    status_code=200,
    is_merge=True
)
print(response.json)  # {"message": "Success", "anykey": "anyvalue"} http_code = 200

El mismo ejemplo pero is_merge es False

from resp_builder import ResponseBuilder
from flask import Response

respose_builder = ResponseBuilder()
response: Response = respose_builder.response(
    code='SUCCESS',
    data={'anykey': 'anyvalue'},
    status_code=200,
    is_merge=False
)
print(response.json)  # {"message": "Success", "data":{"anykey": "anyvalue"} http_code = 200

Metadata

Release files for cleandev-resp-builder 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cleandev-resp-builder 0.2.1
File Size Uploaded Provenance Actions
cleandev-resp-builder-0.2.1.tar.gz 3.6 kB Without provenance Details for cleandev-resp-builder-0.2.1.tar.gz

Release files / cleandev-resp-builder-0.2.1.tar.gz

Download URL cleandev-resp-builder-0.2.1.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
35b182ca22229978c7581478ea3f137e90dea3100f498075b8f0bd7137f58a57
BLAKE2b-256 checksum
How to use checksums
9e2fc09048c7987b48e467885efaeb06004b0bd4b0e964f43103575a94d1dcf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.10

Security for cleandev-resp-builder 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page