Scala & lift: Rewriting a URL using a variable declared outside LiftRules.statelessRewrite.append

I am looking for a solution for rewriting URLs in an elevator using a list declared outside the scope LiftRules.statelessRewrite.append

LiftRules.statelessRewrite.append {  
    case RewriteRequest(ParsePath("abc" :: Nil, _ , _ , _ ), _ , _ ) =>  
        RewriteResponse("index" :: Nil)
}

I would like the following code to work the same as above:

val requestList = "abc" :: Nil

LiftRules.statelessRewrite.append {  
    case RewriteRequest(ParsePath(requestList, _ , _ , _ ), _ , _ ) =>
        RewriteResponse("index" :: Nil)
}

Can someone write how to get this functionality with elevator 2.0?

[ change ]

Could you also suggest a better way to access this list suffix as a parameter. What I would like to get is like:

LiftRules.statelessRewrite.append {  
  case RewriteRequest(ParsePath(`requestList` ::: List(someId), _ , _ , _ ), _ , _ ) =>  
    RewriteResponse("index" :: Nil, Map("someId" -> someId))
}    
+3
source share
1 answer

case , requestList . :

val requestList = "abc" :: Nil

LiftRules.statelessRewrite.append {
  case RewriteRequest(ParsePath(list, _ , _ , _ ), _ , _ ) if list == requestList =>
    RewriteResponse("index" :: Nil)
}

backticks (Scala ref: " " ):

LiftRules.statelessRewrite.append {
  case RewriteRequest(ParsePath(`requestList`, _ , _ , _ ), _ , _ ) =>
    RewriteResponse("index" :: Nil)
}    

, .

val RequestList = requestList , , requestList.

+4

Source: https://habr.com/ru/post/1757650/


All Articles