16. 祭代码 状态机抽象
data Stream a = EOF
| Chunks [a]
data Iteratee a b =
Continue (Stream a → Step a b)
| Yield b (Stream a)
| Error String
data Enumerator a b =
Iteratee a b → Iteratee a b
17. 祭代码 Proxy Application
fetch :: Request IO
-> (Status -> Headers -> Iteratee..)
-> IO a
fetch req f = withManager $ m ->
run_ $ http req f m
getIndexR = do
req <- liftIO $ parseUrl url
sendWaiResponse $ ResponseEnumerator
$ fetch req