2014-09-03 1 views
0

this article의 필터 사용 섹션에서는 Play Framework 전역 개체에 필터를 구현하는 방법을 설명합니다. 내가 GlobalSettings을 확장하고 doFilter 방법에 내가 Filter.apply()하지만 GlobalSettings '방법으로 사용할 수있는 요청 매개 변수에 대한 액세스를 원하는 내 자신의 특성을 만드는 오전Withfilters를 새로운 특성으로 구현하는 방법

object Global extends WithFilter(AccessLog) 

object AccessLog extends Filter { 
    override def apply(next: RequestHeader => Future[Result])(request: RequestHeader): Future[Result] = { 
    val result = next(request) 
    play.Logger.info(request + "\n\t => " + result) 
    result 
    } 
} 

(see framework source code here - line 93)

은과 같이 선언

override def doFilter(next: RequestHeader => Handler): (RequestHeader => Handler) = { 
    play.Logger.debug("doFilter:") 
    super.doFilter(next) 
} 

위의 방법을 재정의 할 때 어떻게 RequestHeader 매개 변수를 가져올 수 있습니까?

답변

0

doFilter 방법이 개 파라미터 세트, 2 세트는 지금이 너무 좋아 오버라이드 (override) 된 메소드로 눌러야합니다 암시 적 요청 구성되어 있습니다 ... 나는 그것이 영업 이익 moreful있을 거라고 생각

override def doFilter(next: RequestHeader => Handler): (RequestHeader => Handler) = { 
    request => { 
     play.Logger.debug("doFilter: " + request) 
     super.doFilter(next)(request) 
    } 
    } 
+0

있다 그리고 더 많은 방문객들, 당신이 당신의 의도에 설명을 추가 할 때. – reporter

+0

답변이나 질문에? –

+0

내 의견이 귀하의 답변에 연결되었습니다. 답변을 수락 된 것으로 표시하는 것을 잊지 마십시오. – reporter

관련 문제