red, code fail the new TDD test.
red, pass the getProtocol for new test, but fail the getDomain test.
modify the getDomain to pass the test.
green, pass the getPath tdd test.
refactor getProtocol to be more readable.
green, add new TDD test, passed.
refactor getProtocol to eliminate if/else.
refactor funcitons for preparation of refactor getDomain.
refactor getDomain to be more readable.
format code.