Untitled
package com.hdfc.epi.controller; import com.hdfc.epi.service.SseService; import lombok.extern.log4j.Log4j2; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; @RestController @Log4j2 public class SSEController { private final SseService sseService; public SSEController(SseService sseService){ this.sseService = sseService; } @CrossOrigin(origins = "*") @GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE) public ResponseEntity<SseEmitter> streamEvents(@RequestParam(name = "ulid") String ulId) { return ResponseEntity.ok(sseService.handler(ulId)); } @CrossOrigin(origins = "*") @PostMapping(value = "/publish", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<Boolean> publish(@RequestHeader("ULID") String ulId) { sseService.publishToEmitter(ulId); return ResponseEntity.ok(Boolean.TRUE); } }
Leave a Comment