Don't set headers that have no values.
Add the HEAD, OPTIONS and PATCH verbs.
Remove hard-coded assumption that responses are JSON, and make it pluggable based on content-type.