Server-Sent Events
Realtime Registry bằng SSE.
Backend hiện có endpoint GET /api/public/v1/stream. Connection trả event-stream, gửi snapshot mới nhất rồi refresh mỗi 5 giây, heartbeat mỗi 15 giây và tự đóng sau 120 giây.
Protocol
Payload và nhịp stream.
event: latest
Mỗi snapshot public trả danh sách tối đa 10 Evidence mới nhất.
5 giây
Server gọi lại query registry để cập nhật snapshot.
15 giây
Heartbeat comment : ping giữ connection sống.
120 giây
Server đóng connection; client EventSource sẽ reconnect.
Example
Consumer tối giản.
const es = new EventSource(
'https://copyright.info.vn/api/public/v1/stream'
);
es.addEventListener('latest', (event) => {
const payload = JSON.parse(event.data);
console.log(payload.results);
});
es.addEventListener('error', () => {
console.log('stream interrupted; browser will reconnect');
});Security & caching
Chỉ public-safe metadata.
Public filtering
Query chỉ lấy Evidence SEALED và visibility PUBLIC, sau đó dùng public-safe owner và verification fields.
No raw file stream
SSE chỉ đẩy metadata JSON. Nội dung tài liệu gốc không được truyền qua stream.