Commit 996e382a authored by Yuanle Song's avatar Yuanle Song
Browse files

init commit.

sha1sum works fine with lazy ByteString.
parents
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+2 −0
Original line number Diff line number Diff line
.stack-work/
*.cabal

README.md

0 → 100644
+1 −0
Original line number Diff line number Diff line
# reliable-download

Setup.hs

0 → 100644
+2 −0
Original line number Diff line number Diff line
import Distribution.Simple
main = defaultMain

api/Main.hs

0 → 100644
+25 −0
Original line number Diff line number Diff line
{-# LANGUAGE OverloadedStrings #-}

module Main (main) where

import Control.Monad.IO.Class (liftIO)
import GHC.Exts (fromList)

import Web.Scotty
import Data.Aeson (Value(..), toJSON, object, (.=))

import RD.Lib (sha1sum)

main :: IO ()
main = scotty 8082 $ do
  get "/" $ do
    json $ Object $ fromList [("ok", Bool True)
                             ,("app", "reliable-download api")]
  get "/debug/t1" $ do
    sha1 <- liftIO $ sha1sum "/home/sylecn/persist/cache/ideaIC-2018.1.tar.gz"
    json $ object ["ok" .= True
                  ,"sha1sum" .= sha1]
  get "/:word" $ do
    beam <- param "word"
    sha1 <- liftIO $ sha1sum beam
    html $ mconcat ["sha1sum for ", beam, " is ", sha1, "."]

client/Main.hs

0 → 100644
+4 −0
Original line number Diff line number Diff line
module Main (main) where

main :: IO ()
main = putStrLn "rd command line tool"
Loading