Software Engineering Note

[spray] encoding 된 uri path 사용하기 본문

솔루션/spray

[spray] encoding 된 uri path 사용하기

devmoons 2017. 11. 17. 19:56

spray에서 (reserved characters) 를 내려줄 때 character에 따라서 렌더링을 다르게 해준다.


  • 디코딩 되는것 => !, *, ', (, ), ;, :, @, &, =, +, $, ,
  • 디코딩 안되는것 =>  /, ?, #, [, ]


사용자가 날린, 날 것의 인코딩된 문자를 이용하고 싶다면 "Raw-Request-URI" 헤더를 이용하면 된다.


설정 파일에 "spray.can.server.raw-request-uri-header = on" 으로 설정 해주면, 

spray에서 요청을 받을때 "Raw-Request-URI" 헤더를 붙여서 올려준다.


그런다음,


optionalHeaderValueByName(`Raw-Request-URI`.name) { hv =>

....

}


이런식으로 이용하면 되겠다.