Types were previously not handled correctly by the type definition generation process, so a couple of things in http had to be changed to interfaces. This issue has been fixed, so now they're types again. Closes #4024