!hco #15716: porting http internals to dsl2

Why this code blowup? Is it because the API is not yet using the new types? I'm not a fan of converting perfectly readable and simple code into this.