#!/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"