koi_net.components.server

Classes

NodeServer(log, logging_context, ...)

Entry point for full nodes, manages FastAPI server.

class koi_net.components.server.NodeServer(log, logging_context, shutdown_signal, exception_queue, config, response_handler)[source]

Bases: ThreadedComponent

Entry point for full nodes, manages FastAPI server.

Parameters:
app: FastAPI
build_app()[source]

Builds FastAPI app.

build_endpoints(router)[source]

Builds endpoints for API router.

Parameters:

router (APIRouter)

config: FullNodeConfig
async logging_middleware(request, call_next)[source]

Binds contextvars per HTTP request, and emits access logs.

Parameters:

request (Request)

protocol_error_handler(request, exc)[source]

Catches ProtocolError and returns an ErrorResponse payload.

Parameters:

exc (ProtocolError)

response_handler: ResponseHandler
router: APIRouter
run()[source]

Processing loop for thread.

server: Server | None = None
start()[source]
stop()[source]