diff --git a/ulib/cgi b/ulib/cgi index f948df8..de86837 100644 --- a/ulib/cgi +++ b/ulib/cgi @@ -38,10 +38,17 @@ function cgicontent() { # une disposition "attachment", $2 est le nom de fichier à proposer à # l'utilisateur. Si $3 est spécifié, c'est le chemin vers le fichier dont le # contenu doit être servi. - ctype_header "$1" - [ -n "$2" ] && cdisp_header "$2" + # $4..* sont des en-têtes supplémentaires à rajouter + local ctype="$1" filename="$2" contentfile="$3"; shift; shift; shift + local header + + ctype_header "$ctype" + [ -n "$filename" ] && cdisp_header "$filename" + for header in "$@"; do + echo "$header" + done echo "" - [ -f "$3" ] && cat "$3" + [ -f "$contentfile" ] && cat "$contentfile" } function cgicontent_nocache() { @@ -51,9 +58,16 @@ function cgicontent_nocache() { # une disposition "attachment", $2 est le nom de fichier à proposer à # l'utilisateur. Si $3 est spécifié, c'est le chemin vers le fichier dont le # contenu doit être servi. - ctype_header "$1" - [ -n "$2" ] && cdisp_header "$2" + # $4..* sont des en-têtes supplémentaires à rajouter + local ctype="$1" filename="$2" contentfile="$3"; shift; shift; shift + local header + + ctype_header "$ctype" + [ -n "$filename" ] && cdisp_header "$filename" nocache_header + for header in "$@"; do + echo "$header" + done echo "" - [ -f "$3" ] && cat "$3" + [ -f "$contentfile" ] && cat "$contentfile" }