Skip to content

irreal/nestjs-sse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Server-Sent Events (SSE) - Nest.js

This package implements a middleware to broadcast SSE when using Nexs.js framework.

npm i -S nestjs-sse

Usage

Apply the middleware

import {MiddlewareConsumer, Module} from "@nestjs/common";  
import {ConnectionService} from "./connection.service";  
import {ConnectionController} from "./connection.controller";  
import {SSEMiddleware} from "nestjs-sse";  
  
@Module({  
  imports: [],  
  controllers: [ConnectionController],  
  providers: [ConnectionService],  
  exports: [ConnectionService],  
})  
export class ConnectionModule {  
  configure(consumer: MiddlewareConsumer) {  
    consumer  
      .apply(SSEMiddleware)  
      .forRoutes(ConnectionController);  
  }  
}

Inside the controller

import {Controller, Get, Res} from "@nestjs/common";  
import {Response} from "nestjs-sse";  
import {ConnectionService} from "./connection.service";  
import settings from "./config";  
  
@Controller()  
export class ConnectionController {  
  constructor(private readonly connectionService: ConnectionService) {  
  
  }  
  
  @Get("vm/connection")  
  list(@Res() res: Response) {  
    res.sse(`data: ${JSON.stringify(this.connectionService.getAliveVMsData())}\n\n`);  
  
    setInterval(() => {  
      res.sse(`data: ${JSON.stringify(this.connectionService.getAliveVMsData())}\n\n`);  
    }, settings.MAX_HEART_BEAT_IDLE_MS);  
  }  
}

About

Middleware for Nest.js to send Server-Sent Events (SSE)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%