2017-11-15 13 views
0

내가 Akka의 HTTP를 사용하여 다음과 같은 HTTP 요청 데 :Akka HTTP - 원시 (URL 디코드되지 않은) 요청 URL을 얻는 방법?

http://www.example.com?p1=1&p2=2&p3=http://www.example.net?a=1&b=2%203 

을 전체 원시 (하지 URL 디코딩) 요청 URL을 얻을 Akka HTTP의 방법이 있나요? 전체 원시 요청 URL을 그대로 사용하고 싶습니다.

http://www.example.com?p1=1&p2=2&p3=http://www.example.net?a=1&b=2%203 

"p3 ="다음에 모든 것을 가져옵니다.

답변

1

구성 설정을 akka.http.server.raw-request-uri-header으로 설정하면 원시 요청 URI가 Raw-Request-URI이라는 헤더의 값으로 포함됩니다.

akka.http.server.raw-request-uri-header = on 

는 그 다음 Raw-Request-URI 헤더에서 원시 요청 URI를 얻을 : 당신의 application.conf에서 즉

는 다음과 같은 설정합니다. documentation 가입일

:

때로는 어떤 탈출을인가하거나 파싱없이 수신 URI의 "원시"값을 얻기 위해 필요할 수있다. 이 유스 케이스는 드문 경우이지만 때때로 발생합니다. akka.http.server.raw-request-uri-header 플래그를 켜서 Akka HTTP 서버 측에서 "원시"요청 URI를 얻을 수 있습니다. 사용 설정되면 Raw-Request-URI 헤더가 각 요청에 추가됩니다. 이 헤더는 사용 된 원래 원시 요청의 URI를 보유합니다. 예를 들어 참조 구성을 확인하십시오.