start_streaming()

This commit is contained in:
Maxim Devaev 2021-07-26 02:29:47 +03:00
parent 134d4e869e
commit c996771afd
2 changed files with 8 additions and 2 deletions

View File

@ -29,6 +29,7 @@ from ....validators.kvm import valid_log_seek
from ..logreader import LogReader from ..logreader import LogReader
from ..http import exposed_http from ..http import exposed_http
from ..http import start_streaming
# ===== # =====
@ -43,8 +44,7 @@ class LogApi:
seek = valid_log_seek(request.query.get("seek", "0")) seek = valid_log_seek(request.query.get("seek", "0"))
follow = valid_bool(request.query.get("follow", "false")) follow = valid_bool(request.query.get("follow", "false"))
response = StreamResponse(status=200, reason="OK", headers={"Content-Type": "text/plain"}) response = await start_streaming(request, "text/plain")
await response.prepare(request)
async for record in self.__log_reader.poll_log(seek, follow): async for record in self.__log_reader.poll_log(seek, follow):
await response.write(("[%s %s] --- %s" % ( await response.write(("[%s %s] --- %s" % (

View File

@ -170,6 +170,12 @@ def make_json_exception(err: Exception, status: Optional[int]=None) -> aiohttp.w
}, status=status) }, status=status)
async def start_streaming(request: aiohttp.web.Request, content_type: str) -> aiohttp.web.StreamResponse:
response = aiohttp.web.StreamResponse(status=200, reason="OK", headers={"Content-Type": content_type})
await response.prepare(request)
return response
# ===== # =====
async def get_field_value(reader: aiohttp.MultipartReader, name: str) -> str: async def get_field_value(reader: aiohttp.MultipartReader, name: str) -> str:
field = await get_multipart_field(reader, name) field = await get_multipart_field(reader, name)