X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=ImplantFile.hs;h=c253c2abd05395b3311dba1fd9d3ed999d37d89b;hp=c3cff030271fd2e881be0d0db07180291858c9b2;hb=a362be1c8664306b970c32e1df9b62081498feb1;hpb=45e3770f440c9fa8668f7e33063d630d73bcbe55 diff --git a/ImplantFile.hs b/ImplantFile.hs index c3cff03..c253c2a 100644 --- a/ImplantFile.hs +++ b/ImplantFile.hs @@ -106,13 +106,13 @@ main = do (opts, sources, errors) ← getOpt Permute options <$> getArgs generateHaskellSource ∷ [CmdOpt] → FilePath → IO () generateHaskellSource opts srcFile - = do modName ← getModuleName opts - symName ← getSymbolName opts modName - mimeType ← getMIMEType opts srcFile - lastMod ← getLastModified srcFile - input ← openInput srcFile - output ← openOutput opts - eTag ← getETag opts input + = do modName ← getModuleName opts + symName ← getSymbolName opts modName + mType ← getMIMEType opts srcFile + lastMod ← getLastModified srcFile + input ← openInput srcFile + output ← openOutput opts + tag ← getETag opts input let compParams = defaultCompressParams { compressLevel = bestCompression } gzippedData = compressWith compParams input @@ -122,14 +122,14 @@ generateHaskellSource opts srcFile rawB64 = B64.encode <$> Lazy.toChunks input gzippedB64 = B64.encode <$> Lazy.toChunks gzippedData - header ← mkHeader srcFile originalLen gzippedLen useGZip mimeType eTag lastMod + header ← mkHeader srcFile originalLen gzippedLen useGZip mType tag lastMod let hsModule = mkModule modName symName imports decls imports = mkImports useGZip decls = concat [ resourceDecl symName useGZip - , entityTagDecl eTag + , entityTagDecl tag , lastModifiedDecl lastMod - , contentTypeDecl mimeType + , contentTypeDecl mType , if useGZip then dataDecl (name "gzippedData") gzippedB64 else @@ -257,7 +257,7 @@ putChunksStmt ∷ Exp → Stmt putChunksStmt = qualStmt ∘ putChunksExp entityTagDecl ∷ ETag → [Decl] -entityTagDecl eTag +entityTagDecl tag = [ TypeSig (⊥) [varName] (TyCon (UnQual (name "ETag"))) , nameBind (⊥) varName valExp ] @@ -266,7 +266,7 @@ entityTagDecl eTag varName = name "entityTag" valExp ∷ Exp - valExp = function "parseETag" `app` strE (eTagToString eTag) + valExp = function "parseETag" `app` strE (eTagToString tag) lastModifiedDecl ∷ UTCTime → [Decl] lastModifiedDecl lastMod @@ -316,7 +316,7 @@ dataDecl varName chunks strE (Strict.unpack chunk) mkHeader ∷ FilePath → Int64 → Int64 → Bool → MIMEType → ETag → UTCTime → IO String -mkHeader srcFile originalLen gzippedLen useGZip mimeType eTag lastMod +mkHeader srcFile originalLen gzippedLen useGZip mType tag lastMod = do localLastMod ← utcToLocalZonedTime lastMod return $ concat [ "{- DO NOT EDIT THIS FILE.\n" @@ -333,8 +333,8 @@ mkHeader srcFile originalLen gzippedLen useGZip mimeType eTag lastMod " Compression: gzip\n" else " Compression: disabled\n" - , " MIME Type: ", mimeTypeToString mimeType, "\n" - , " ETag: ", eTagToString eTag, "\n" + , " MIME Type: ", mimeTypeToString mType, "\n" + , " ETag: ", eTagToString tag, "\n" , " Last Modified: ", show localLastMod, "\n" , " -}" ]