asyncio Server-Sent Events implementation
Project description
SSE
===
Simple asyncio/aiohttp wrapper for Server-Sent Events.
Usage
-----
Sending events:
```python
import asyncio
import sse
class Handler(sse.Handler):
@asyncio.coroutine
def handle_request(self):
yield from asyncio.sleep(2)
self.send('foo')
yield from asyncio.sleep(2)
self.send('bar', event='wakeup')
start_server = sse.serve(Handler, 'localhost', 8888)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
```
Validating incoming requests:
```python
class Handler(sse.Handler):
def validate_sse(self):
super().validate_sse()
# use self.request / self.payload
if not self.request.path.startswith('/live'):
raise sse.SseException()
```
Sending JSON data:
```python
class Handler(sse.Handler):
@asyncio.coroutine
def handle_request(self):
self.send({'foo': 'bar'})
```
Sending IDs / event names / retry information:
```python
class Handler(sse.Handler):
@asyncio.coroutine
def handle_request(self):
self.send('some data', id=12345, event='something', retry=10000)
```
===
Simple asyncio/aiohttp wrapper for Server-Sent Events.
Usage
-----
Sending events:
```python
import asyncio
import sse
class Handler(sse.Handler):
@asyncio.coroutine
def handle_request(self):
yield from asyncio.sleep(2)
self.send('foo')
yield from asyncio.sleep(2)
self.send('bar', event='wakeup')
start_server = sse.serve(Handler, 'localhost', 8888)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
```
Validating incoming requests:
```python
class Handler(sse.Handler):
def validate_sse(self):
super().validate_sse()
# use self.request / self.payload
if not self.request.path.startswith('/live'):
raise sse.SseException()
```
Sending JSON data:
```python
class Handler(sse.Handler):
@asyncio.coroutine
def handle_request(self):
self.send({'foo': 'bar'})
```
Sending IDs / event names / retry information:
```python
class Handler(sse.Handler):
@asyncio.coroutine
def handle_request(self):
self.send('some data', id=12345, event='something', retry=10000)
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
asyncio-sse-0.1.tar.gz
(3.9 kB
view hashes)
Built Distribution
Close
Hashes for asyncio_sse-0.1-py33-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81cf9757e023c91998f8243fa5db1632eb8d0174a6c9da466c085345a603e1c8 |
|
MD5 | cf013e44169fbfd4e02cc9e9ffc31567 |
|
BLAKE2b-256 | 3b314a319452374caa3d16c44ee16ae33df0cf1a8de4683a8d73e135d7317f9c |