Server change api

fix #337 

For convenience, this branch has been based on the issue_341 branch. 
This PR only shows the changes for the api change.
Here's part 1 of how we now handle the `.scheme`/`.host`/`.port` attributes.