Skip to main content

Module for handler errors codes in your APIS

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cleandev-resp-builder-0.2.1.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file cleandev-resp-builder-0.2.1.tar.gz.

File metadata

  • Download URL: cleandev-resp-builder-0.2.1.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.10

File hashes

Hashes for cleandev-resp-builder-0.2.1.tar.gz
Algorithm Hash digest
SHA256 35b182ca22229978c7581478ea3f137e90dea3100f498075b8f0bd7137f58a57
MD5 90ce20757d52c2ded63244a53194c3ab
BLAKE2b-256 9e2fc09048c7987b48e467885efaeb06004b0bd4b0e964f43103575a94d1dcf5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page