support POST
PUT
PATCH and DELETE
catch HTTP errors and report them
rearranging
params are optional for GET
modularize out parameter serialization
fix up names