* Use node 7+ WHATWG parser for hostname, fixes#1002
* only use URL if host is IPv6, expose parsed URL
* catch invalid URLs, memoize empty obj
* hostname returns empty string when URL throws
closes#553
Update test: application -> use() should throw if not a function
Fix lint
Use arrow function
Refactor test using arrow function
Remove non mandatory brackets
fix for merge
Fix: missing refactor after merge
Use arrow function for old generator
closes#517
add index test for Application
add app.toJSON test
add test for app.inspect()
add tests for app.use()
add tests for app.onerror()
add tests for app.respond()
add tests for app.context()
add tests for app.request()
add tests for app.response
refactor for non-existence of test/app...js
no need for *.js
use helpers/ dir for non-tests
change var to const for static require()'d modules
make constant var references in app use const keyword
refactor context to use es6 constants
refactor request to use es6 constants, let block-scope coming next
use const in response object for static refs
make context tests use es6 constants
experimental unit tests -> const
use const for static references in unit test over req
use const for static refs in res tests
update app tests to use const for static refs
make the context test use es6 constants for static refs
use constants in the README
es6 constants seem to work in --harmony on 0.12 too
use const's for immutable refs in benchmarks
ensure all JS files have blank newline at top
add newline to bottom of file where missing
add a webchat freenode link to irc channel
no need to assign error in catch{}-able test
app.silent option to turn off err logging
keep test env logging for backwards-compat