private String getRequestUri() {
   try {
     return null == _request ? null : _request.getURL().getFile();
   } catch (MalformedURLException e) {
     return null;
   }
 }
 public void testHostnameSlash3Directory1Directory2File() throws Exception {
   WebRequest request =
       new GetMethodWebRequest("http://host.name////directory1////directory2////file.html");
   assertEquals(
       "URL",
       request.getURL().toExternalForm(),
       "http://host.name/directory1/directory2/file.html");
 }
 public void testTortureHostnameDotDirectory1DotDirectory2DotFile() throws Exception {
   WebRequest request =
       new GetMethodWebRequest("http://host.name/./directory1/./directory2/./file.html");
   assertEquals(
       "URL",
       request.getURL().toExternalForm(),
       "http://host.name/directory1/directory2/file.html");
 }
 /** Creates a web response object which represents the response to the specified web request. */
 protected WebResponse newResponse(WebRequest request, FrameSelector targetFrame)
     throws MalformedURLException, IOException {
   Properties savedProperties = (Properties) System.getProperties().clone();
   try {
     if (_proxyHost != null) {
       System.setProperty("proxyHost", _proxyHost);
       System.setProperty("proxyPort", Integer.toString(_proxyPort));
     }
     URLConnection connection = openConnection(getRequestURL(request));
     if (HttpUnitOptions.isLoggingHttpHeaders()) {
       String urlString = request.getURLString();
       System.out.println("\nConnecting to " + request.getURL().getHost());
       System.out.println("Sending:: " + request.getMethod() + " " + urlString);
     }
     sendHeaders(connection, getHeaderFields(request.getURL()));
     sendHeaders(connection, request.getHeaderDictionary());
     request.completeRequest(connection);
     return new HttpWebResponse(
         this, targetFrame, request, connection, getExceptionsThrownOnErrorStatus());
   } finally {
     System.setProperties(savedProperties);
   }
 }
  private URL getRequestURL(WebRequest request) throws MalformedURLException {
    DNSListener dnsListener = getClientProperties().getDnsListener();
    if (dnsListener == null) return request.getURL();

    String hostName = request.getURL().getHost();
    String portPortion = request.getURL().getPort() == -1 ? "" : (":" + request.getURL().getPort());
    setHeaderField("Host", hostName + portPortion);
    String actualHost = dnsListener.getIpAddress(hostName);
    if (HttpUnitOptions.isLoggingHttpHeaders())
      System.out.println("Rerouting request to :: " + actualHost);
    return new URL(
        request.getURL().getProtocol(),
        actualHost,
        request.getURL().getPort(),
        request.getURL().getFile());
  }
 public void testHostnamePortSlash() throws Exception {
   WebRequest request = new GetMethodWebRequest("http://host.name:80/");
   assertEquals("URL", request.getURL().toExternalForm(), "http://host.name:80/");
 }
 public void testUsernamePasswordHostnamePortNoSlash() throws Exception {
   WebRequest request = new GetMethodWebRequest("http://*****:*****@host.name:80");
   assertEquals("URL", request.getURL().toExternalForm(), "http://*****:*****@host.name:80");
 }
 public void testSlashesInParameter() throws Exception {
   String desiredUrl =
       "http://*****:*****@yahoo.com&ddd=aaa/../../&eee=/.";
   WebRequest request = new GetMethodWebRequest(desiredUrl);
   assertEquals("URL", desiredUrl, request.getURL().toExternalForm());
 }
 public void testUrlAsParameter() throws Exception {
   String desiredUrl = "http://localhost:3333/composite/addobserver?url=http://localhost:8081/";
   WebRequest request = new GetMethodWebRequest(desiredUrl);
   assertEquals("URL", desiredUrl, request.getURL().toExternalForm());
 }
 public void testPathElementLeadingDot() throws Exception {
   WebRequest request = new GetMethodWebRequest("http://host/context/.src/page");
   assertEquals("URL", request.getURL().toExternalForm(), "http://host/context/.src/page");
 }
 public void testHostnameSlash2Directory() throws Exception {
   WebRequest request = new GetMethodWebRequest("http://host.name///directory///");
   assertEquals("URL", request.getURL().toExternalForm(), "http://host.name/directory/");
 }
 /*
  * Test relative URLs with directory navigation.
  */
 public void testRelativePathDotDotFile() throws Exception {
   WebRequest request =
       new GetMethodWebRequest(
           new URL("http://host.name/directory1/file.html"), "../directory2/file.html");
   assertEquals("URL", "http://host.name/directory2/file.html", request.getURL().toExternalForm());
 }
 public void testHostnameFile() throws Exception {
   WebRequest request = new GetMethodWebRequest("http://host.name/file.html");
   assertEquals("URL", request.getURL().toExternalForm(), "http://host.name/file.html");
 }