aboutsummaryrefslogtreecommitdiff
path: root/t/lib-httpd/error.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-06-16 12:18:35 -0700
committerJunio C Hamano <gitster@pobox.com>2014-06-16 12:18:36 -0700
commit2075a0c27fa5cf4f9f03964d407dc015c1749a7e (patch)
tree361c26f8579dcd888a9f4e5b54f79534a9c3b608 /t/lib-httpd/error.sh
parentc37d3269d92eedbdf405a6f196253d120e8e2721 (diff)
parentc553fd1c1ef76688b6200e66a825b530b0b02140 (diff)
downloadgit-2075a0c27fa5cf4f9f03964d407dc015c1749a7e.tar.xz
Merge branch 'jk/http-errors'
Propagate the error messages from the webserver better to the client coming over the HTTP transport. * jk/http-errors: http: default text charset to iso-8859-1 remote-curl: reencode http error messages strbuf: add strbuf_reencode helper http: optionally extract charset parameter from content-type http: extract type/subtype portion of content-type t5550: test display of remote http error messages t/lib-httpd: use write_script to copy CGI scripts test-lib: preserve GIT_CURL_VERBOSE from the environment
Diffstat (limited to 't/lib-httpd/error.sh')
-rwxr-xr-xt/lib-httpd/error.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/t/lib-httpd/error.sh b/t/lib-httpd/error.sh
new file mode 100755
index 0000000000..eafc9d2d90
--- /dev/null
+++ b/t/lib-httpd/error.sh
@@ -0,0 +1,27 @@
+#!/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
+ ;;
+esac
+printf "\n"
+
+printf "\n"
+printf "this is the error message\n" |
+iconv -f us-ascii -t $charset