Suave.io: using pathScan and request together

2019-04-28 10:01发布

问题:

I'm just getting up and running with Suave.io. I'm sure this will become clearer as I dig more into Applicatives - but from a high level I can't see how to write a pathScan rule that applies the request applicative too. All examples I'm found only do one or the other. In both cases they are applied to a function taking arguments - so presumably the arguments would be combined somehow too.

回答1:

Both pathScan and request take a function that produces a web part, so they cannot be nicely chained using >>=. Instead, you can nest one inside the other (I think the order does not really matter here):

pathScan "/some/%d" (fun num ->
  request (fun r -> 
    OK(sprintf "%d - %A" num r.url)))


标签: suave