CXM_mime.anubis 2.9 KB

 *Project*                             The Anubis Project
   
 *Title*                                 MIME Types definition.
   
 *Copyright*                     Copyright (c) Alain Prouté 2005. 


 *Authors*  Alain Prouté
            David René
   

read tools/base64.anubis
read tools/basis.anubis   
read system/string.anubis
   
public type MIME:
   mime(String name,
        String file_extension). 
   
public define List(MIME)
   known_mime_types
     = 
   [
     mime("application/octet-stream",            ".exe"), 
     mime("application/x-pdf",                   ".pdf"), 
     mime("application/x-pdf",                   ".PDF"), 
     mime("image/bmp",                           ".bmp"), 
     mime("image/gif",                           ".gif"), 
     mime("image/gif",                           ".GIF"), 
     mime("image/jpeg",                          ".jpg"), 
     mime("image/jpeg",                          ".JPG"), 
     mime("image/jpeg",                          ".jpeg"), 
     mime("image/png",                           ".png"), 
     mime("image/png",                           ".PNG"), 
     mime("image/x-icon",                        ".ico"), 
     mime("text/html",                           ".html"), 
     mime("text/html",                           ".htm"), 
     mime("text/css",                            ".css"), 
     mime("text/javascript",                     ".js"), 
     mime("text/plain",                          ".txt"),
     mime("text/plain",                          ".anubis"),
     mime("text/plain",                          ".c"),
     mime("text/plain",                          ".h"),
     mime("text/plain",                          ".y"),
     mime("text/plain",                          "/Makefile"),
     mime("text/comma-separated-values",         ".csv"), 
     mime("application/msword",                  ".doc"), 
     mime("application/octet-stream",            ".emz"), 
     mime("application/octet-stream",            ".xml"), 
     mime("application/octet-stream",            ".mso"), 
     mime("application/octet-stream",            ".wmf"), 
     mime("application/octet-stream",            ".gz"), 
     mime("application/octet-stream",            ".rar"), 
     mime("application/octet-stream",            ".zip"), 
     mime("application/octet-stream",            ".card"), 
     mime("application/octet-stream",            ".ankh"), 
     mime("application/octet-stream",            ".adm"), 
     mime("application/octet-stream",            ".swf"), 
     mime("application/octet-stream",            ".downloaded"), 
     mime("audio/x-mpeg",                        ".mp3"),
     mime("video/x-msvideo",                     ".avi"),
   ]. 
   
public define String
  to_MIME_text
  (
    String  charset,
    String  text
  )=
  with text2 = "=?"+charset+"?B?"+to_string(base64_encode(to_byte_array(text)))+"?=",
  find_and_replace(text2, implode([13,10]), implode([13,10,32])).