我认为我的代码失败了,因为Spray URI正在使用尾部斜杠发送到服务器。如何确保没有斜杠?
我正在使用Spray在Scala中编写客户端身份验证代码。它与各种服务器共舞,使用ScalaFX WebView获取用户凭据,服务器发送格式为https://server.com/path/to/start?st=abc123的URL。
我还没有完全证明这一点,我很确定在背景中Spray将其变成https://server.com/path/to/start / ?st = abc123(注意/之间的/路径和查询)。
答案 0 :(得分:1)
Spray-Routing
模块FileAndResourceDirectives
工具箱中有两个指令:stripLeadingSlash
和withTrailingSlash
,两者都返回布尔值。我的项目示例:
lazy val staticPath =
staticPrefixes &
cache(simpleRouteCache) &
encodeResponse(Gzip) &
extract(ctx => !withTrailingSlash(ctx.request.uri.path))