where
import Control.Applicative
import Control.Monad
-import Data.Ascii (Ascii)
+import Data.Ascii (Ascii, AsciiBuilder)
import qualified Data.Ascii as A
import Data.Attoparsec.Char8
import Data.Monoid.Unicode
, etagToken ∷ !Ascii
} deriving (Eq, Show)
--- |Convert an 'ETag' to 'Ascii'.
-printETag ∷ ETag → Ascii
+-- |Convert an 'ETag' to 'AsciiBuilder'.
+printETag ∷ ETag → AsciiBuilder
printETag et
- = A.fromAsciiBuilder $
- ( ( if etagIsWeak et then
- A.toAsciiBuilder "W/"
- else
- (∅)
- )
- ⊕
- quoteStr (etagToken et) )
+ = ( if etagIsWeak et then
+ A.toAsciiBuilder "W/"
+ else
+ (∅)
+ )
+ ⊕
+ quoteStr (etagToken et)
-- |Parse 'Etag' from an 'Ascii'. This functions throws an exception
-- for parse error.