Compare commits
6 Commits
3441ab2bbb
...
master
Author | SHA1 | Date | |
---|---|---|---|
56e1823589 | |||
0cae4d898c | |||
c883efcf41 | |||
f2665335b3 | |||
e6cf2bc659 | |||
cdaf3339c8 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
result
|
||||
result*
|
||||
dist/
|
||||
|
@ -52,7 +52,7 @@ executable rauhala-api
|
||||
hs-source-dirs: executables
|
||||
default-language: Haskell2010
|
||||
|
||||
executable generator
|
||||
executable rauhala-api-js-gen
|
||||
main-is: generator.hs
|
||||
-- other-modules:
|
||||
-- other-extensions:
|
||||
|
@ -16,6 +16,7 @@ let
|
||||
_pkgs.binutils-unwrapped
|
||||
haskellPackages.ghcid
|
||||
haskellPackages.hasktags
|
||||
haskellPackages.cabal-install
|
||||
(haskellPackages.ghcWithHoogle (_: pkg.buildInputs ++ pkg.propagatedBuildInputs))
|
||||
];
|
||||
};
|
||||
|
@ -10,11 +10,11 @@ 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.Class (runPure, PandocMonad)
|
||||
import Text.Pandoc.Options (def)
|
||||
import Network.HTTP.Media ((//), (/:))
|
||||
|
||||
data HTML
|
||||
|
||||
@ -29,7 +29,7 @@ instance MimeRender HTML Docs where
|
||||
instance Accept HTML where
|
||||
contentType _ = "text" // "html" /: ("charset", "utf-8")
|
||||
|
||||
type API = "ipfs" :> IPFS.API
|
||||
type API = "api" :> ("ipfs" :> IPFS.API)
|
||||
|
||||
type DocumentedAPI = API
|
||||
:<|> "help" :> Get '[PlainText, HTML] Docs
|
||||
|
@ -5,12 +5,10 @@
|
||||
module Server.IPFS where
|
||||
|
||||
import API.IPFS
|
||||
import Servant
|
||||
import ClassyPrelude
|
||||
|
||||
import Network.DNS
|
||||
|
||||
import ClassyPrelude hiding (hash)
|
||||
import Control.Lens (over, _Left)
|
||||
import Network.DNS
|
||||
import Servant
|
||||
|
||||
handler :: Server API
|
||||
handler = liftIO getHash >>= either (const (throwError err500)) return
|
||||
@ -23,6 +21,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
|
||||
|
Reference in New Issue
Block a user