asgi cgi handler
1.0.0
เรียกใช้สคริปต์ cgi ภายในเซิร์ฟเวอร์ asgi
การใช้งานที่เรียบง่าย
import uvicorn
from asgi_cgi import HTTPCGIHandler , WebsocketCGIHandler
uvicorn . run ( HTTPCGIHandler ())
from fastapi import FastAPI
from asgi_cgi import HTTPCGIHandler , WebsocketCGIHandler , SSECGIHandler
app = FastAPI ( title = "CGI Server" )
app . mount ( "/cgi-bin" , HTTPCGIHandler ()) # type: ignore
app . mount ( "/ws" , WebsocketCGIHandler ()) # type: ignore
app . mount ( "/sse" , SSECGIHandler ()) # type: ignore
อย่างที่คุณเห็น เรามีการสนับสนุน websocket ซึ่งได้รับแรงบันดาลใจจาก websocketd ขณะนี้จำเป็นต้องมีการทดสอบเพิ่มเติม
กำหนดเส้นทาง WebsocketCGIHandler
ไปยังโปรแกรมปลายทางและป้อนข้อมูล websocket เข้าสู่ stdin ของกระบวนการและส่ง stdout ไปยังไคลเอนต์ทีละบรรทัด
SSECGIHandler
หมายถึง server send event
เหมือนกับ websocket แต่จะส่ง stdout ไปยังไคลเอนต์เท่านั้น
ErrHandler = Callable [[ bytes ], Union [ Awaitable [ None ], None ]]
class HTTPCGIHandler :
def __init__ ( self , directory : str = ..., error_handler : ErrHandler = ...) -> None : ...
class WebsocketCGIHandler :
def __init__ ( self , directory : str = ..., error_handler : ErrHandler = ...) -> None : ...
class SSECGIHandler :
def __init__ ( self , directory : str = ..., error_handler : ErrHandler = ...) -> None : ...