🧪 Add SSE test tools
This commit is contained in:
27
test/data/sse/index.html
Normal file
27
test/data/sse/index.html
Normal file
@ -0,0 +1,27 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>SSE Example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Server-Sent Events Example</h1>
|
||||
<div id="sse-data"></div>
|
||||
|
||||
<script>
|
||||
const eventSource = new EventSource("/sse")
|
||||
const sseDataElement = document.getElementById("sse-data")
|
||||
|
||||
eventSource.onmessage = (event) => {
|
||||
sseDataElement.innerText = `Data from server: ${event.data}`
|
||||
}
|
||||
|
||||
eventSource.onerror = (error) => {
|
||||
console.error("EventSource failed:", error)
|
||||
eventSource.close()
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
28
test/data/sse/server.py
Normal file
28
test/data/sse/server.py
Normal file
@ -0,0 +1,28 @@
|
||||
import time
|
||||
|
||||
from flask import Flask, render_template, Response
|
||||
|
||||
app = Flask(__name__, template_folder=".")
|
||||
|
||||
|
||||
# Generator function to simulate real-time updates
|
||||
def event_stream():
|
||||
count = 0
|
||||
while True:
|
||||
time.sleep(1)
|
||||
count += 1
|
||||
yield f"data: {count}\n\n"
|
||||
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return render_template('index.html')
|
||||
|
||||
|
||||
@app.route('/sse')
|
||||
def sse():
|
||||
return Response(event_stream(), content_type='text/event-stream')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(debug=True, threaded=True)
|
Reference in New Issue
Block a user