Skip to content

Commit

Permalink
Accept content type without character set
Browse files Browse the repository at this point in the history
  • Loading branch information
edsko authored and phadej committed Feb 1, 2019
1 parent 463b95c commit bbb22e6
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 25 deletions.
11 changes: 2 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ install:
- rm -fv cabal.project cabal.project.local
- grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
- "printf 'packages: \".\"\\n' > cabal.project"
- "printf 'write-ghc-environment-files: always\\n' >> cabal.project"
- touch cabal.project.local
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | grep -vw -- servant-blaze | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
- cat cabal.project || true
Expand All @@ -97,6 +98,7 @@ script:
- cd ${DISTDIR} || false
- find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
- "printf 'packages: servant-blaze-*/*.cabal\\n' > cabal.project"
- "printf 'write-ghc-environment-files: always\\n' >> cabal.project"
- touch cabal.project.local
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | grep -vw -- servant-blaze | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
- cat cabal.project || true
Expand All @@ -120,15 +122,6 @@ script:
# Constraint sets
- rm -rf cabal.project.local

# Constraint set servant-0.7
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80000 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.7.*' all; else echo skipping...; fi

# Constraint set servant-0.8
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80200 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.8.*' all; else echo skipping...; fi

# Constraint set servant-0.9
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80200 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.9.*' all; else echo skipping...; fi

# Constraint set servant-0.10
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80200 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.10.*' all; else echo skipping...; fi

Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 0.8.1

- Also accept content type without character set i.e `text/html`

# 0.8

- Only single `MimeRender HTML a` instance. `blaze-markup` has `ToMarkup Markup` instance.
12 changes: 0 additions & 12 deletions cabal.make-travis-yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,3 @@
constraint-set servant-0.7
ghc: >= 7.8 && <8.0
constraints: servant ==0.7.*

constraint-set servant-0.8
ghc: >= 7.8 && <8.2
constraints: servant ==0.8.*

constraint-set servant-0.9
ghc: >= 7.8 && <8.2
constraints: servant ==0.9.*

constraint-set servant-0.10
ghc: >= 7.8 && <8.2
constraints: servant ==0.10.*
Expand Down
5 changes: 2 additions & 3 deletions servant-blaze.cabal
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
cabal-version: >=1.10
name: servant-blaze
version: 0.8
x-revision: 2
version: 0.8.1

synopsis: Blaze-html support for servant
category: Servant, Web
Expand Down Expand Up @@ -33,7 +32,7 @@ source-repository head
library
exposed-modules: Servant.HTML.Blaze
build-depends: base >=4.7 && <5
, servant >=0.7 && <0.16
, servant >=0.10 && <0.16
, http-media >=0.6.4 && <0.8
, blaze-html >=0.9.0.1 && <0.10
hs-source-dirs: src
Expand Down
5 changes: 4 additions & 1 deletion src/Servant/HTML/Blaze.hs
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,15 @@ import qualified Network.HTTP.Media as M
import Servant.API (Accept (..), MimeRender (..))
import Text.Blaze.Html (Html, ToMarkup, toHtml)
import Text.Blaze.Html.Renderer.Utf8 (renderHtml)
import qualified Data.List.NonEmpty as NE

data HTML deriving Typeable

-- | @text/html;charset=utf-8@
instance Accept HTML where
contentType _ = "text" M.// "html" M./: ("charset", "utf-8")
contentTypes _ =
"text" M.// "html" M./: ("charset", "utf-8") NE.:|
["text" M.// "html"]

instance ToMarkup a => MimeRender HTML a where
mimeRender _ = renderHtml . toHtml

0 comments on commit bbb22e6

Please sign in to comment.