inheriting from node's http protos was a terrible idea