A JavaScript implementation of proper HTTP content negotiation