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)
| 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.