nate nowack commited on
Commit
5359040
·
unverified ·
2 Parent(s): 2df17b2a321007

Merge pull request #475 from Maxi91f/feat/middleware-on-run

Browse files
Files changed (1) hide show
  1. src/fastmcp/server/server.py +5 -6
src/fastmcp/server/server.py CHANGED
@@ -189,15 +189,13 @@ class FastMCP(Generic[LifespanResultT]):
189
  """
190
  if transport is None:
191
  transport = "stdio"
192
- if transport not in ["stdio", "streamable-http", "sse"]:
193
  raise ValueError(f"Unknown transport: {transport}")
194
 
195
  if transport == "stdio":
196
  await self.run_stdio_async(**transport_kwargs)
197
- elif transport == "streamable-http":
198
- await self.run_http_async(transport="streamable-http", **transport_kwargs)
199
- elif transport == "sse":
200
- await self.run_http_async(transport="sse", **transport_kwargs)
201
  else:
202
  raise ValueError(f"Unknown transport: {transport}")
203
 
@@ -744,6 +742,7 @@ class FastMCP(Generic[LifespanResultT]):
744
  log_level: str | None = None,
745
  path: str | None = None,
746
  uvicorn_config: dict | None = None,
 
747
  ) -> None:
748
  """Run the server using HTTP transport.
749
 
@@ -760,7 +759,7 @@ class FastMCP(Generic[LifespanResultT]):
760
  # lifespan is required for streamable http
761
  uvicorn_config["lifespan"] = "on"
762
 
763
- app = self.http_app(path=path, transport=transport)
764
 
765
  config = uvicorn.Config(
766
  app,
 
189
  """
190
  if transport is None:
191
  transport = "stdio"
192
+ if transport not in {"stdio", "streamable-http", "sse"}:
193
  raise ValueError(f"Unknown transport: {transport}")
194
 
195
  if transport == "stdio":
196
  await self.run_stdio_async(**transport_kwargs)
197
+ elif transport in {"streamable-http", "sse"}:
198
+ await self.run_http_async(transport=transport, **transport_kwargs)
 
 
199
  else:
200
  raise ValueError(f"Unknown transport: {transport}")
201
 
 
742
  log_level: str | None = None,
743
  path: str | None = None,
744
  uvicorn_config: dict | None = None,
745
+ middleware: list[Middleware] | None = None,
746
  ) -> None:
747
  """Run the server using HTTP transport.
748
 
 
759
  # lifespan is required for streamable http
760
  uvicorn_config["lifespan"] = "on"
761
 
762
+ app = self.http_app(path=path, transport=transport, middleware=middleware)
763
 
764
  config = uvicorn.Config(
765
  app,