/ / Obtenir la chaîne de requête dans la directive de routage de pulvérisation - scala, spray

Obtenir la chaîne de requête dans la directive de routage de pulvérisation - scala, spray

Je dois définir une redirection dans mes directives de routage:

path("old") {
params { p =>
redirect("http://newu.rl/foo?" + ???, StatusCodes.PermanentRedirect)
}
}

Puis-je obtenir la chaîne de requête exacte envoyée par le client? Ou dois-je le reconstruire à partir des paramètres p?

Réponses:

1 pour la réponse № 1

Vous pouvez créer une directive personnalisée à l'aide de extrait pour récupérer la chaîne de requête à partir de l'URI:

val queryString = extract(_.request.uri.query)
path("old") {
queryString { query =>
redirect("http://newu.rl/foo?" + query, StatusCodes.PermanentRedirect)
}
}