move server dispatch logic out of iterator stack

the reason for this is so that we call out to the server no matter what if
there's a server handler without requiring that some piece of middleware on the
client (at the end of the pipline) calls next() in order for the server dispatch
logic to execute.