This will prevent failure for non standard port and uppercase host or scheme strings
Added related test cases.
Warning : Request constructor signature changed. A java.net.MalformedURLException exception will be throw when creating a request if not a proper URL
previously this cannot occur until send.