packages feed

breve 0.1.1.0 → 0.2.0.0

raw patch · 4 files changed

+20/−7 lines, 4 files

Files

breve.cabal view
@@ -1,5 +1,5 @@ name:                breve-version:             0.1.1.0+version:             0.2.0.0 synopsis:            a url shortener description: 
src/Application.hs view
@@ -44,12 +44,25 @@           respond $ redirectTo (BS.pack url)         Nothing  -> respond notFound -    post "/short" $ do-      form <- fmap fst parseForm+    post "/" $ do+      form <- fst <$> parseForm       case lookup "url" form of+        Nothing   -> respond badRequest         Just url' -> do           let url = BS.unpack url'           name <- liftIO (insert table url)           logStr (printf "Registered %s -> %s " url name)           render done $ object ["link" .= (bindUrl ++ name)]-        Nothing  -> respond badRequest++    post "/api" $ do+      form <- fst <$> parseForm+      case lookup "url" form of+        Nothing   -> respond badRequest+        Just url' -> do+          let url = BS.unpack url'+          name <- liftIO (insert table url)+          logStr (printf "Registered %s -> %s " url name)+          let json = object [ "link"     .= (bindUrl ++ name)+                            , "name"     .= name+                            , "original" .= url ]+          respond $ okHtml (encode json)    
static/main.html view
@@ -8,8 +8,8 @@         <meta charset="utf-8">         <link rel=stylesheet href="main.css" type="text/css">         <link rel="apple-touch-icon" href="icon-big.png">-        <link rel="icon" type="image/png" href="/favicon-big.png" sizes="96x96">-        <link rel="icon" type="image/png" href="/favicon-small.png" sizes="16x16">+        <link rel="icon" type="image/png" href="/icon-medium.png" sizes="96x96">+        <link rel="icon" type="image/png" href="/icon-small.png" sizes="16x16">         <script src="https://cdn.rawgit.com/LeaVerou/prefixfree/gh-pages/prefixfree.min.js"></script>     </head>     <body>
views/index.html view
@@ -1,4 +1,4 @@-<form action="/short" method="POST">+<form method="POST">     your url: <input type="text" name="url">     <input type="submit" value="go"> </form>