2013-07-06 4 views
1

Я считаю, что мой код не работает, потому что URI Spray отправляется на сервер с завершающим косой чертой. Как я могу убедиться, что нет косой черты?Как я могу убедиться, что путь в URI Scala Spray не имеет завершающей косой черты?

Я пишу код аутентификации клиента в Scala с помощью Spray. Он танцует с различными серверами, получает учетные данные пользователя с помощью ScalaFX WebView, и сервер отправляет URL-адрес формы: https://server.com/path/to/start?st=abc123.

Я не совсем доказал это, я абсолютно уверен, что в фоновом режиме спрей превращается это в https://server.com/path/to/start/? Й = абв123 (обратите внимание на/между концом пути и запроса).

ответ

1

Есть две директивы в Spray-Routing инструментарием в FileAndResourceDirectives модуле: stripLeadingSlash и withTrailingSlash, и возвращает логическое значение. Пример из моего проекта:

lazy val staticPath = 
    staticPrefixes   & 
    cache(simpleRouteCache) & 
    encodeResponse(Gzip) & 
    extract(ctx => !withTrailingSlash(ctx.request.uri.path)) 
+0

О, так что Spray-Routing также подходит для клиентов? Я предполагал, что это только для серверов. – Sarge

+0

@ Платная маршрутизация - это просто DSL для сопоставления HTTP-запросов на вашей бизнес-логике. – 4lex1v

+0

Проделав много взглядов на исходный код вокруг спрей, могу ли я увидеть, что настройки инструментария распылительной маршрутизации не настраиваются. В конце концов я решил проблему. К сожалению, я не могу принять этот ответ. :-( – Sarge

 Смежные вопросы

  • Нет связанных вопросов^_^