Rework handling of html argument

When handling an html argument check to determine if the file is binary or text, all
binary versions should be rejected with a 400, as they aren't html