Patch title: Release 92 bulk changes
Abstract:
File: /protocol/common/mime.pli
Key:
    Removed line
    Added line
# Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 2
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# version 2 along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

module "/pliant/language/compiler.pli"


gvar Dictionary mime_types

function declare_mime_type ext mime
  arg Str ext mime
  var Link:Str m :> (mime_types first ext) map Str
  if addressof:m=null
    m :> new Str
    mime_types insert ext true addressof:m
  m := mime
 
function query_mime_type ext -> mime
  arg Str ext mime
  var Link:Str m :> (mime_types first ext) map Str
  if exists:m
    mime := m
  else
    mime := ""


gvar Dictionary mime_dynamic_filters

function declare_mime_dynamic_filter ext fun
  arg Str ext ; arg Function fun
  # mime_filters remove ext null
  mime_dynamic_filters insert ext true addressof:fun
 
function query_mime_dynamic_filter ext -> fun
  arg Str ext ; arg_R Function fun
  fun :> (mime_dynamic_filters first ext) map Function


gvar Dictionary mime_static_filters

function declare_mime_static_filter ext fun
  arg Str ext ; arg Function fun
  mime_static_filters insert ext true addressof:fun
 
function query_mime_static_filter ext -> fun
  arg Str ext ; arg_R Function fun
  fun :> (mime_static_filters first ext) map Function

declare_mime_type ".html" "text/html; charset=ISO-8859-1"
declare_mime_type ".txt" "text/plain"
declare_mime_type ".jpeg" "image/jpeg"
declare_mime_type ".jpg" "image/jpeg"
declare_mime_type ".png" "image/png"
declare_mime_type ".tgz" "binary/tgz"
declare_mime_type ".zip" "binary/zip"

plugin mime

# documents
declare_mime_type ".pdf" "application/pdf"
# declare_mime_type ".htm" "text/html"
# declare_mime_type ".ps" "application/postscript"
# declare_mime_type ".pdf" "application/pdf"
# declare_mime_type ".doc" "application/msword"
# declare_mime_type ".xls" "application/vnd.ms-excel"
# images
# declare_mime_type ".svg" "image/svg"
# scripting
# declare_mime_type ".jar" "application/java-archive"
# archiving
# declare_mime_type ".tar" "application/x-tar"

export declare_mime_type query_mime_type
export declare_mime_dynamic_filter query_mime_dynamic_filter
export declare_mime_static_filter query_mime_static_filter