[enh] handle path items
[enh] parse generic protocol