Compare commits

..

No commits in common. "c883efcf41eec9c07d2f82d993a0965e54523b07" and "3441ab2bbb78bb3367411f50c67d27ce0dfc901b" have entirely different histories.

4 changed files with 15 additions and 14 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
result*
result
dist/

View File

@ -16,7 +16,6 @@ let
_pkgs.binutils-unwrapped
haskellPackages.ghcid
haskellPackages.hasktags
haskellPackages.cabal-install
(haskellPackages.ghcWithHoogle (_: pkg.buildInputs ++ pkg.propagatedBuildInputs))
];
};

View File

@ -5,16 +5,16 @@
{-# Language OverloadedStrings #-}
module API where
import Servant.API
import ClassyPrelude
import Servant.API
import ClassyPrelude
import qualified API.IPFS as IPFS
import Network.HTTP.Media ((//), (/:))
import Text.Pandoc.Class (runPure)
import Text.Pandoc.Options (def)
import Text.Pandoc.Readers.Markdown (readMarkdown)
import Text.Pandoc.Writers.HTML (writeHtml5String)
import Text.Pandoc.Readers.Markdown (readMarkdown)
import Text.Pandoc.Writers.HTML (writeHtml5String)
import Text.Pandoc.Class (runPure, PandocMonad)
import Text.Pandoc.Options (def)
import Network.HTTP.Media ((//), (/:))
data HTML
@ -31,5 +31,5 @@ instance Accept HTML where
type API = "ipfs" :> IPFS.API
type DocumentedAPI = "api" :> API
type DocumentedAPI = API
:<|> "help" :> Get '[PlainText, HTML] Docs

View File

@ -5,10 +5,12 @@
module Server.IPFS where
import API.IPFS
import ClassyPrelude hiding (hash)
import Control.Lens (over, _Left)
import Network.DNS
import Servant
import ClassyPrelude
import Network.DNS
import Control.Lens (over, _Left)
handler :: Server API
handler = liftIO getHash >>= either (const (throwError err500)) return
@ -21,6 +23,6 @@ handler = liftIO getHash >>= either (const (throwError err500)) return
-- This is terrible
return (eTxt >>= maybe (Left "Could not find dnslink") Right . hash)
hash [x] = case x of
(stripPrefix "dnslink=" -> Just h) -> Just . VersionHash . decodeUtf8 $ h
(stripPrefix "dnslink" -> Just h) -> Just . VersionHash . decodeUtf8 $ h
_ -> Nothing
hash _ = Nothing