The urlpath package

[maintain]
Warnings:

Simple URL DSL for Haskell.

Use raw combinators (kinda useless) ...

  render $ "foo.php" <?> ("key1","bar") <&> ("key2","baz")

  ↪ "foo.php?key1=bar&key2=baz"

... or use the MonadReader instance for a configurable root ...

  let url = runReader $ expandAbsolute $ "foo.php" <?> ("key1","bar") <&> ("key2","baz")
  url "example.com"

  ↪ "example.com/foo.php?key1=bar&key2=baz"

... in Lucid ...

  (runReader $ renderTextT $
    (\a -> do
      foo <- lift $ expandAbsolute a
      script_ [src_ foo] "" )
    ("foo" <?> ("bar","baz"))
  ) "example.com"

  ↪ "<script src=\"example.com/foo?bar=baz\"></script>"

... and in Scotty ...

  main :: IO ()
  main = scottyT 3000
      rootConf
      rootConf
      run

    where
      rootConf = flip runReaderT "http://example.com"

      run :: ( MonadIO m
             , MonadReader T.Text m ) =>
             ScottyT LT.Text m ()
      run = get "/" $ do
        path <- lift $ expandAbsolute $ "foo" <?> ("bar","baz")
        text $ LT.fromStrict path

  λ> curl localhost:3000/
  ↪ "http://example.com/foo?bar=baz"

Properties

Versions0.0.1, 0.0.2, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.1, 0.1.0.1, 0.2, 1.0.0, 1.1.0, 2.0.0, 2.1.0, 3.0.0, 3.1.0, 3.1.1, 3.2.0, 3.2.1, 3.2.1.1, 3.3.0, 4.0.0, 4.0.0.1, 4.1.0, 4.2.0, 5.0.0, 5.0.0.1
Dependenciesbase (==4.*), mtl, text, transformers [details]
LicenseBSD3
AuthorAthan Clark <athan.clark@gmail.com>
MaintainerAthan Clark <athan.clark@gmail.com>
CategoryWeb
Source repositoryhead: git clone https://github.com/athanclark/urlpath.git
UploadedTue Dec 9 19:37:18 UTC 2014 by athanclark

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees