Saltar a contenido

gWebHost

Esta librería tiene el objetivo de contener las configuraciones estándar e iniciales para cualquier proyecto de Go que requiera un Host.

Installation

Para instalar el paquete, basta con ejecutar el siguiente comando:

go get github.com/architecture-it/gWebHost

Uso

A continuación se muestra un ejemplo de cómo utilizar las funciones proporcionadas por esta biblioteca en la función main de tu proyecto:

package main

import (
    "github.com/tu_usuario/tu_libreria/WebHost"
    "github.com/tu_usuario/tu_libreria/datastore"
    "github.com/tu_usuario/tu_libreria/registry"
    "github.com/tu_usuario/tu_libreria/router"
)

func main() {
    // Cargar la configuración desde el archivo .env
    WebHost.GetConfiguration("app.env", "./config")

    // Crear la instancia del servidor
    server := WebHost.NewServer()

    // Crear la instancia de la base de datos y agregar la comprobación de estado
    db := datastore.NewDB(server.AddHealthCheck())

    // Crear el registro y agregar las rutas
    r := registry.NewRegistry(db)
    router.NewRouter(server.GetRouter(), r.NewAppController())

    // Agregar documentación de la API, comprobación de estado y registro
    server.AddApiDocs()
    server.AddConfigurationLogging()

    // Ejecutar el servicio
    server.ListenAndServe()
}

Presenter

El paquete presenter en la biblioteca gWebHost proporciona funciones para manejar las respuestas HTTP y enviar datos JSON a los clientes. Incluye las siguientes funciones:

Tipos

  • ErrorResponse: Esta estructura representa la estructura de una respuesta de error estandarizada. Tiene los siguientes campos:
    • Code: Un entero que representa el código de error.
    • Message: Una cadena de texto que representa el mensaje de error.
    • Property: Una cadena de texto opcional que representa la propiedad o campo específico relacionado con el error.

Operaciones

JSONResponse

  • JSONResponse: Esta funcion envia una respuesta JSON al cliente, recibe:
    • w: Objeto http.ResponseWriter utilizado para escribir la respuesta HTTP.
    • statusCode: Código de estado HTTP que se enviará en la respuesta.
    • data: Interfaz que contiene los datos que se enviarán como JSON en la respuesta.

JSONError

  • JSONError: Esta funcion envia una respuesta JSON al cliente, recibe:
    • w: Objeto http.ResponseWriter utilizado para escribir la respuesta HTTP.
    • statusCode: Código de estado HTTP que se enviará en la respuesta.
    • message: Mensaje de error que se enviará en la respuesta.
    • property: Propiedad o campo específico relacionado con el error (opcional).

AddHeader

  • AddHeader: Esta función agrega un encabezado personalizado a la respuesta HTTP.
    • w: Objeto http.ResponseWriter utilizado para escribir la respuesta HTTP.
    • key: Key del Header.
    • value: Value del Header.