0.0.8 • Published 1 year ago

ms-rabbit-cliente v0.0.8

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Descripcion

Paquete de Conexion para interceptar solicitudes Http y generar broadcast de solicitudes por el servicio de rabbitMQ

Instalacion

Instalacion del paquete

npm i ms-rabbit-cliente

Configuracion

Configuracion de Paquete en el archivo app.module.ts

import {AppModuleRabbitClient} from 'ms-rabbit-cliente'
@Module({
  imports: [
    AppModuleRabbitClient.register(),
  ],
  controllers: [], 
  providers: [],
})
export class AppModule {}

Configuracion de Paquete en el archivo my.montroller.ts

import { DatapassInterceptor } from 'ms-rabbit-cliente'

 @Get('/my-rest-api') 
 @SetMetadata("data-rabbit", {virtualHost:"server_client"}) 
 @UseInterceptors(RabbitInterceptor)
 async myRestApi(@Res({}) res) {
    try {
        const getResponse = await this.appService.myService()
        return getResponse
    } catch (error) {
        return res.status(HttpStatus.BAD_REQUEST).json(error);
    }
 }

Propiedades del decorador @SetMetadata("data-rabbit")

Descripcion de los campos en "data-cache"

PropiedadValorDescripcion
virtualHostString (null)Host Virtual donde creara una conexion, si este no existe lo creara automaticamete campo obligatorio
sendAllBoolean (true)TRUE si se enviara a todos los queues dentro del virtualHost
specifiedClientString (null)Si sendAll se establece en FALSO se debera ingresar de manera obligada el queue unico del cliente

Configuracion en la solicitud HTTP si se utilizara el interceptor

curl --location 'https://my-rest-api.com/rest-api-two?queue="queueUnique"

Uso del Servicio

Se pueden utilizar el servicio

Debe realizar la configuracion de Paquete en su archivo my.service.ts

import { RabbitServiceClient } from 'ms-rabbit-cliente';

@Injectable()
export class AppService {
  constructor(
    private rabbitServiceClient:RabbitServiceClient,
  ){}


  async getRestApiTWo():Promise<Observable<AxiosResponse<any[]>>>{
    try {
        this.rabbitServiceClient.sendDataVirtualHost({virtualHost:"server_client",sendAll:true},"queueUnique")
    } catch (error) {
        throw error
    }
  }
}

Descripcion de los objecto para envio de datos

PropiedadValorDescripcion
virtualHostString (null)Host Virtual donde creara una conexion, si este no existe lo creara automaticamete campo obligatorio
sendAllBoolean (true)TRUE si se enviara a todos los queues dentro del virtualHost
specifiedClientString (null)Si sendAll se establece en FALSO se debera ingresar de manera obligada el queue unico del cliente

queueUnique Se recomienda colocar algun identificador unico de usuario o de conexion del cliente Vue