initial commit

This commit is contained in:
2026-02-04 00:16:34 +09:00
commit ae11528dd9
867 changed files with 209640 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
import uuid
from datetime import datetime
import time
from fastmcp.server.middleware import Middleware, MiddlewareContext
import module.factory as factory
# 기본 미들웨어
class EnvironmentMiddleware(Middleware):
def __init__(self, environment):
self.environment = environment
async def on_call_tool(self, context: MiddlewareContext, call_next):
ctx = context.fastmcp_context
# time counter start
t0 = time.perf_counter()
# started_at
started_dt = datetime.now()
ctx.set_state(factory.CONTEXT_STARTED_AT, started_dt.strftime("%Y-%m-%d %H:%M:%S"))
# request id
request_id = uuid.uuid4().hex
ctx.set_state(factory.CONTEXT_REQUEST_ID, request_id)
# context setup
ctx.set_state(factory.CONTEXT_ENVIRONMENT, self.environment)
try:
result = await call_next(context)
return result
except Exception as e:
raise e
finally:
# ended at
ended_at = datetime.now()
ctx.set_state(factory.CONTEXT_ENDED_AT, ended_at.strftime("%Y-%m-%d %H:%M:%S"))
# time counter end
elapsed_sec = time.perf_counter() - t0
ctx.set_state(factory.CONTEXT_ELAPSED_SECONDS, round(elapsed_sec, 2))