Skip to content

Commit 8e35245

Browse files
authored
Merge pull request #1646 from plredmond/fix-plaintext-string
change `Mime(Un)Render PlainText String` instances to encode/decode UTF-8
2 parents 4244ae5 + 1711392 commit 8e35245

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

changelog.d/1646

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
synopsis: change Mime(Un)Render PlainText String instances to encode/decode UTF-8
2+
issues: #1645

servant/src/Servant/API/ContentTypes.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,11 @@ import Data.Aeson.Types
8282
(parseEither)
8383
import Data.Attoparsec.ByteString.Char8
8484
(endOfInput, parseOnly, skipSpace, (<?>))
85+
import Data.Bifunctor
86+
(bimap)
8587
import qualified Data.ByteString as BS
8688
import Data.ByteString.Lazy
8789
(ByteString, fromStrict, toStrict)
88-
import qualified Data.ByteString.Lazy.Char8 as BC
8990
import qualified Data.List.NonEmpty as NE
9091
import Data.Maybe
9192
(isJust)
@@ -350,7 +351,7 @@ instance MimeRender PlainText TextS.Text where
350351

351352
-- | @BC.pack@
352353
instance MimeRender PlainText String where
353-
mimeRender _ = BC.pack
354+
mimeRender _ = TextL.encodeUtf8 . TextL.pack
354355

355356
-- | @id@
356357
instance MimeRender OctetStream ByteString where
@@ -409,7 +410,7 @@ instance MimeUnrender PlainText TextS.Text where
409410

410411
-- | @Right . BC.unpack@
411412
instance MimeUnrender PlainText String where
412-
mimeUnrender _ = Right . BC.unpack
413+
mimeUnrender _ = bimap show TextL.unpack . TextL.decodeUtf8'
413414

414415
-- | @Right . id@
415416
instance MimeUnrender OctetStream ByteString where

0 commit comments

Comments
 (0)