]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Resource/Tree.hs
examples/HelloWorld.hs fully works now.
[Lucu.git] / Network / HTTP / Lucu / Resource / Tree.hs
index 8fbe2bf2d6b529aa1b00ad4fc4c6b17b943b64b8..11d5b2b471c8fa6435dd3e8692c0896e5df010d6 100644 (file)
@@ -144,6 +144,9 @@ data ResNode    = ResNode (Maybe ResourceDef) ResSubtree
 --             , ([\"unistd\"], 'Network.HTTP.Lucu.StaticFile.staticFile' \"\/usr\/include\/unistd.h\") -- \/unistd
 --             ]
 -- @
+--
+-- Note that the request path in an incoming HTTP request is always
+-- treated as an URI-encoded UTF-8 string.
 mkResTree ∷ [ ([Text], ResourceDef) ] → ResTree
 mkResTree = processRoot ∘ map (first canonicalisePath)
     where
@@ -292,6 +295,7 @@ runResource (ResourceDef {..}) itr@(Interaction {..})
                           mapM_ (uncurry setHeader) $ fromHeaders $ aboHeaders abo
                           output $ LT.encodeUtf8 $ abortPage itrConfig itrRequest res abo
                else
-                   when (cnfDumpTooLateAbortionToStderr itrConfig)
-                       $ hPutStrLn stderr $ show abo
+                   do when (cnfDumpTooLateAbortionToStderr itrConfig)
+                          $ hPutStrLn stderr $ show abo
+                      atomically $ writeTVar itrWillClose True
                runRes (driftTo Done) itr