Skip to content

Commit e7f93c2

Browse files
committed
fix: wrong port in authorization server uri (from server not for x-forwarded-host)
1 parent 5862c3c commit e7f93c2

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

transport/http4s/src/main/scala/ch/linkyard/mcp/jsonrpc2/transport/http4s/McpServerRoute.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ object McpServerRoute:
5656
for
5757
h <- req.serverHost
5858
host <- Host.fromString(h.value)
59-
port = req.serverPort.getOrElse(req.scheme.defaultPort)
59+
port = req.serverHostPort.getOrElse(req.scheme.defaultPort)
6060
yield (host -> port),
6161
client = req.clientIp,
6262
additional = Map.empty,

transport/http4s/src/main/scala/ch/linkyard/mcp/jsonrpc2/transport/http4s/utils.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,15 @@ extension (req: Request[IO])
3535
def serverHost: Option[Host] =
3636
hostPort.map(_._1)
3737

38+
def serverHostPort: Option[Port] =
39+
hostPort.flatMap(_._2)
40+
3841
def serverRoot: Uri =
3942
Uri(
4043
scheme = req.scheme.some,
4144
authority = Uri.Authority(
4245
host = req.serverHost.getOrElse[Host](Uri.RegName("localhost")),
43-
port = req.serverPort.map(_.value),
46+
port = req.serverHostPort.filter(_ != req.scheme.defaultPort).map(_.value),
4447
).some,
4548
path = Path.Root,
4649
)

0 commit comments

Comments
 (0)