Module src.httpapi.sse.wrapper

Onionr - Private P2P Communication.

wrapper for server sent event endpoints

Expand source code
"""Onionr - Private P2P Communication.

wrapper for server sent event endpoints
"""
from typing import Callable

from flask import Response

"""
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
"""


class SSEWrapper:
    def __init__(self):
        self.active_count: int = 0

    def handle_sse_request(self, handler: Callable):
        self.active_count += 1
        resp = Response(handler())
        resp.content_type = "text/event-stream"
        self.active_count -= 1
        return resp

Classes

class SSEWrapper
Expand source code
class SSEWrapper:
    def __init__(self):
        self.active_count: int = 0

    def handle_sse_request(self, handler: Callable):
        self.active_count += 1
        resp = Response(handler())
        resp.content_type = "text/event-stream"
        self.active_count -= 1
        return resp

Methods

def handle_sse_request(self, handler)
Expand source code
def handle_sse_request(self, handler: Callable):
    self.active_count += 1
    resp = Response(handler())
    resp.content_type = "text/event-stream"
    self.active_count -= 1
    return resp