Disable buffering for guest docs SSE
All checks were successful
build-and-deploy / build-deploy (push) Successful in 32s
All checks were successful
build-and-deploy / build-deploy (push) Successful in 32s
This commit is contained in:
@@ -18,11 +18,12 @@ import com.fasterxml.jackson.databind.ObjectMapper
|
|||||||
import org.springframework.core.io.FileSystemResource
|
import org.springframework.core.io.FileSystemResource
|
||||||
import org.springframework.http.HttpHeaders
|
import org.springframework.http.HttpHeaders
|
||||||
import org.springframework.http.HttpStatus
|
import org.springframework.http.HttpStatus
|
||||||
import org.springframework.http.MediaType
|
|
||||||
import org.springframework.http.ResponseEntity
|
import org.springframework.http.ResponseEntity
|
||||||
import org.springframework.security.core.annotation.AuthenticationPrincipal
|
import org.springframework.security.core.annotation.AuthenticationPrincipal
|
||||||
import org.springframework.transaction.annotation.Transactional
|
import org.springframework.transaction.annotation.Transactional
|
||||||
import org.springframework.web.bind.annotation.*
|
import org.springframework.web.bind.annotation.*
|
||||||
|
import org.springframework.http.MediaType
|
||||||
|
import jakarta.servlet.http.HttpServletResponse
|
||||||
import org.springframework.web.multipart.MultipartFile
|
import org.springframework.web.multipart.MultipartFile
|
||||||
import org.springframework.web.server.ResponseStatusException
|
import org.springframework.web.server.ResponseStatusException
|
||||||
import java.time.OffsetDateTime
|
import java.time.OffsetDateTime
|
||||||
@@ -126,13 +127,16 @@ class GuestDocuments(
|
|||||||
.map { it.toResponse(objectMapper) }
|
.map { it.toResponse(objectMapper) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/stream")
|
@GetMapping("/stream", produces = [MediaType.TEXT_EVENT_STREAM_VALUE])
|
||||||
fun streamDocuments(
|
fun streamDocuments(
|
||||||
@PathVariable propertyId: UUID,
|
@PathVariable propertyId: UUID,
|
||||||
@PathVariable guestId: UUID,
|
@PathVariable guestId: UUID,
|
||||||
@AuthenticationPrincipal principal: MyPrincipal?
|
@AuthenticationPrincipal principal: MyPrincipal?,
|
||||||
|
response: HttpServletResponse
|
||||||
): org.springframework.web.servlet.mvc.method.annotation.SseEmitter {
|
): org.springframework.web.servlet.mvc.method.annotation.SseEmitter {
|
||||||
requireRole(propertyAccess, propertyId, principal, Role.ADMIN, Role.MANAGER)
|
requireRole(propertyAccess, propertyId, principal, Role.ADMIN, Role.MANAGER)
|
||||||
|
response.setHeader("Cache-Control", "no-cache")
|
||||||
|
response.setHeader("X-Accel-Buffering", "no")
|
||||||
return guestDocumentEvents.subscribe(propertyId, guestId)
|
return guestDocumentEvents.subscribe(propertyId, guestId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user