- Content-Length:*) printf '%s\n' "$l"; cat;;
- $CR) printf 'Connection: close\r\n\r\n'; cat; exit 1;;
- *) printf '%s\n' "$l";;
+ Status:*) cgilite_status="${l#Status: }";;
+ Content-Length:*) cgilite_response="$cgilite_response${BR}$l"; cgilite_cl='x';;
+ $CR) if [ "$cgilite_cl" ]; then
+ printf '%s %s\r\n%s\n\r\n' \
+ 'HTTP/1.1' "${cgilite_status%${CR}}" \
+ "$cgilite_response"
+ cat; exit 0
+ else
+ printf '%s %s\r\n%s\n%s\r\n\r\n' \
+ 'HTTP/1.1' "${cgilite_status%${CR}}" \
+ "$cgilite_response" "Connection: close"
+ cat; exit 1
+ fi;;
+ *) cgilite_response="$cgilite_response${BR}$l";;