Replaced some common repetetive code with a couple of re-usable methods
Changed file upload to contain the absolute (vs relative) path in the Location header