git/t/lib-httpd/error.sh
Yi EungJun f34a655d4d http: fix charset detection of extract_content_type()
extract_content_type() could not extract a charset parameter if the
parameter is not the first one and there is a whitespace and a following
semicolon just before the parameter. For example:

    text/plain; format=fixed ;charset=utf-8

And it also could not handle correctly some other cases, such as:

    text/plain; charset=utf-8; format=fixed
    text/plain; some-param="a long value with ;semicolons;"; charset=utf-8

Thanks-to: Jeff King <peff@peff.net>
Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-17 15:25:00 -07:00

32 lines
513 B
Bash
Executable File

#!/bin/sh
printf "Status: 500 Intentional Breakage\n"
printf "Content-Type: "
charset=iso-8859-1
case "$PATH_INFO" in
*html*)
printf "text/html"
;;
*text*)
printf "text/plain"
;;
*charset*)
printf "text/plain; charset=utf-8"
charset=utf-8
;;
*utf16*)
printf "text/plain; charset=utf-16"
charset=utf-16
;;
*odd-spacing*)
printf "text/plain; foo=bar ;charset=utf-16; other=nonsense"
charset=utf-16
;;
esac
printf "\n"
printf "\n"
printf "this is the error message\n" |
iconv -f us-ascii -t $charset