[error] /Users/bgrace/development/lift/SunsetFlora/src/main/scala/bootstrap/liftweb/Boot.scala:132: overloaded method value apply with alternatives:
[error] (path: net.liftweb.http.ParsePath,params: Map[String,String])net.liftweb.http.RewriteResponse <and>
[error] (path: List[String],suffix: String)net.liftweb.http.RewriteResponse <and>
[error] (path: List[String],stopRewriting: Boolean)net.liftweb.http.RewriteResponse <and>
[error] (path: List[String],params: Map[String,String])net.liftweb.http.RewriteResponse
[error] cannot be applied to (List[String], scala.collection.immutable.Map[String,List[String]])
[error] case RewriteRequest(ParsePath("foo" :: bar , _, _, _), _, _) => RewriteResponse("foo" :: Nil, Map("bar" -> bar))
I bolded the important bit. You can't pass in a Map[String, List[String]], which is what bar is at this point. If it's not clear, what you are capturing with the pattern match is the tail, but it's still in List[String] form. The RewriteResponse expects the Map to be a map of String -> String, not String -> List[String].
Perhaps you are intending something along these lines:
case RewriteRequest(ParsePath("foo" :: bar, _, _, _), _, _) => RewriteResponse("foo" :: Nil, Map("bar" -> bar.mkString("/")))
It wasn't clear whether you wanted to capture the wildcard in /foo/* or /foo/bar/* ... this does the former. If you wanted to try the latter, it would be:
case RewriteRequest(ParsePath("foo" :: "bar" :: baz, _, _, _), _, _) => RewriteResponse("foo" :: Nil, Map("bar" -> baz.mkString("/")))
Caveat: I only verified that this compiled, I didn't set up a test case to verify that it works as expected. But, you know, if it compiles it's probably correct.