This one https://http4s.org/v0.21/api/org/http4s/dsl/impl/MatrixVar.html ?
There’s no support for matrix parameters at the moment. Could you tell us a little bit more about your use case? I can’t see a significant advantage of using them over query parameters.
I believe it could be used inside the URL instead of the end. Something like that:
query parameters:
localhost/api/logs/<appId>/short?from=<from>&to=<to>
matrix parameters:
localhost/api/logs/<appId>;from=<from>;to=<to>/short
Allowing to place all variable part of the request in one place
Looks like a neat improvement, but apparently is not widely supported among web servers. I think this makes it not very suitable for a general support in Tapir.
Just to add, I think it should be fairly easy to add support for matrix parametrs yourself. You can just map over a path
input:
val myMatrixInput: EndpointInput[(String, Map[String, String])] =
path[String]("matrixtest").map { v =>
val components = v.split(";")
(components.head, toMap(components.tail))
} { case (name, values) =>
s"$name;${toString(values)}"
}