27 lines
696 B
Bash
Executable File
27 lines
696 B
Bash
Executable File
#!/bin/bash
|
|
# FILE: wgapi:back/lib/http/res
|
|
# DESCRIPTION: Formats an http response from arguments
|
|
# USAGE: [printf "message" |] res [200] [text/plain]
|
|
|
|
# Parse status
|
|
status=''
|
|
case "${1}" in
|
|
''|'0'|'200') status='Status: 200 OK\n';;
|
|
'202') status='Status: 202 Accepted\n';;
|
|
'400') status='Status: 400 Bad Request\n';;
|
|
'500') status='Status: 500 Internal Server Error\n';;
|
|
*) exit 3;;
|
|
esac
|
|
|
|
# Parse inputs
|
|
body="$(cat)"
|
|
content_type=''
|
|
if [ "${2}" == '' ] && [ "${body}" == '' ]
|
|
then content_type=''
|
|
elif [ "${2}" == '' ]
|
|
then content_type='Content-type: text/plain\n'
|
|
else content_type="Content-type: ${2}\n"
|
|
fi
|
|
|
|
# Send response
|
|
printf "${status}${content_type}\n${body}\n" |