Update of /cvsroot/httpunit/httpunit/src/com/meterware/pseudoserver
In directory usw-pr-cvs1:/tmp/cvs-serv13563/src/com/meterware/pseudoserver
Modified Files:
PseudoServer.java
Log Message:
Handle embedded spaces in URL
Index: PseudoServer.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/pseudoserver/PseudoServer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PseudoServer.java 24 Jul 2002 17:28:56 -0000 1.1
+++ PseudoServer.java 15 Aug 2002 00:06:32 -0000 1.2
@@ -166,10 +166,29 @@
private String asResourceName( String rawName ) {
if (rawName.startsWith( "/" )) {
- return rawName;
+ return escape( rawName );
} else {
- return "/" + rawName;
+ return escape( "/" + rawName );
}
+ }
+
+
+ private static String escape( String urlString ) {
+ if (urlString.indexOf( ' ' ) < 0) return urlString;
+ StringBuffer sb = new StringBuffer();
+
+ int start = 0;
+ do {
+ int index = urlString.indexOf( ' ', start );
+ if (index < 0) {
+ sb.append( urlString.substring( start ) );
+ break;
+ } else {
+ sb.append( urlString.substring( start, index ) ).append( "%20" );
+ start = index+1;
+ }
+ } while (true);
+ return sb.toString();
}
|