, joinWith
, quoteStr
, parseWWWFormURLEncoded
+ , splitPathInfo
, show3
)
where
import qualified Data.ByteString.Char8 as BS
import Data.List hiding (last)
import Data.Monoid.Unicode
+import Data.Text (Text)
+import Data.Text.Encoding as T
import Network.URI
import Prelude hiding (last)
import Prelude.Unicode
plusToSpace '+' = ' '
plusToSpace c = c
+-- |> splitPathInfo "http://example.com/foo/bar"
+-- > ==> ["foo", "bar"]
+splitPathInfo ∷ URI → [Text]
+splitPathInfo uri
+ = let reqPathStr = uriPath uri
+ reqPath = [unEscapeString x | x ← splitBy (≡ '/') reqPathStr, (¬) (null x)]
+ in
+ map (T.decodeUtf8 ∘ BS.pack) reqPath
+
-- |> show3 5
-- > ==> "005"
show3 ∷ Integral n ⇒ n → AsciiBuilder