X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FImplant%2FPrettyPrint.hs;h=5bbc36d8d470508904ce8247485d9ef0947ce72b;hp=85af3cbd9fb6520a223b6af85331c43fff56c2e4;hb=97295ba;hpb=19763f7de78daf2d4c794f4010039f70c7f73994 diff --git a/Network/HTTP/Lucu/Implant/PrettyPrint.hs b/Network/HTTP/Lucu/Implant/PrettyPrint.hs index 85af3cb..5bbc36d 100644 --- a/Network/HTTP/Lucu/Implant/PrettyPrint.hs +++ b/Network/HTTP/Lucu/Implant/PrettyPrint.hs @@ -14,12 +14,14 @@ module Network.HTTP.Lucu.Implant.PrettyPrint where import Codec.Compression.GZip import Control.Monad -import Data.Ascii (CIAscii) +import Data.Ascii (Ascii, CIAscii) import qualified Data.Ascii as A import qualified Data.ByteString.Lazy as L import Data.Char import Data.Collections +import Data.Convertible.Utils import Data.List (intersperse) +import Data.Monoid import Data.Ratio import Data.Time import Language.Haskell.TH.Lib @@ -30,8 +32,8 @@ import Network.HTTP.Lucu.ETag import Network.HTTP.Lucu.Implant import Network.HTTP.Lucu.Implant.Rewrite import Network.HTTP.Lucu.MIMEType +import Network.HTTP.Lucu.OrphanInstances () import Network.HTTP.Lucu.Resource -import Network.HTTP.Lucu.Utils import Prelude hiding (head) import Prelude.Unicode @@ -67,7 +69,7 @@ header i@(Input {..}) ] where eTagToDoc ∷ ETag → Doc - eTagToDoc = text ∘ A.toString ∘ A.fromAsciiBuilder ∘ printETag + eTagToDoc = text ∘ convertSuccessVia ((⊥) ∷ Ascii) mimeTypeToDoc ∷ MIMEType → Doc mimeTypeToDoc = text ∘ A.toString ∘ A.fromAsciiBuilder ∘ printMIMEType @@ -139,20 +141,20 @@ gzipEncoding = mkName "gzipEncoding" resourceDecl ∷ Input → Name → Q [Dec] resourceDecl i symName - = sequence [ sigD symName [t| ResourceDef |] + = sequence [ sigD symName [t| Resource |] , valD (varP symName) (normalB (resourceE i)) decls ] where decls ∷ [Q Dec] decls | useGZip i = [ sigD gzipEncoding [t| CIAscii |] - , valD (varP gzipEncoding) (normalB (liftCIAscii "gzip")) [] + , valD (varP gzipEncoding) (normalB (lift ("gzip" ∷ CIAscii))) [] ] | otherwise = [] resourceE ∷ Input → Q Exp -resourceE i = [| emptyResource { +resourceE i = [| mempty { resGet = $(resGetE i) , resHead = $(resHeadE i) } @@ -204,7 +206,7 @@ eTagDecl (Input {..}) lastModDecl ∷ Input → Q [Dec] lastModDecl (Input {..}) = sequence [ sigD lastModified [t| UTCTime |] - , valD (varP lastModified) (normalB (liftUTCTime iLastMod)) [] + , valD (varP lastModified) (normalB (lift iLastMod)) [] ] contTypeDecl ∷ Input → Q [Dec] @@ -217,11 +219,11 @@ binDecl ∷ Input → Q [Dec] binDecl i@(Input {..}) | useGZip i = sequence [ sigD gzippedData [t| L.ByteString |] - , valD (varP gzippedData) (normalB (liftLazyByteString iGZipped)) [] + , valD (varP gzippedData) (normalB (lift iGZipped)) [] ] | otherwise = sequence [ sigD rawData [t| L.ByteString |] - , valD (varP rawData) (normalB (liftLazyByteString iRawData)) [] + , valD (varP rawData) (normalB (lift iRawData)) [] ] rules ∷ Rules @@ -230,14 +232,15 @@ rules = [ qualifyAll "Codec.Compression.GZip" "G" , qualifyAll "Data.Ascii" "A" , qualifyAll "Data.ByteString.Char8" "B" , qualifyAll "Data.ByteString.Lazy.Internal" "L" - , qualifyAll "Data.Map" "M" + , qualifyAll "Data.CaseInsensitive" "CI" + , qualifyAll "Data.Collections" "C" , qualifyAll "Data.Text" "T" , unqualifyAll "Network.HTTP.Lucu.ETag" "Network.HTTP.Lucu" , unqualifyAll "Network.HTTP.Lucu.Resource" "Network.HTTP.Lucu" , unqualifyAll "Network.HTTP.Lucu.Resource.Internal" "Network.HTTP.Lucu" - , unqualifyAll "Network.HTTP.Lucu.MIMEParams" "Network.HTTP.Lucu" , unqualifyAll "Network.HTTP.Lucu.MIMEType" "Network.HTTP.Lucu" , unqualify 'when "Control.Monad" + , unqualify 'mempty "Data.Monoid" , unqualify '(%) "Data.Ratio" , unqualify ''DiffTime "Data.Time" , unqualifyIn 'ModifiedJulianDay ''Day "Data.Time"