Full review (do not merge)

Fair enough, WEBrick::HTTPRequest makes it easier.