[Httpunit-commit] CVS: httpunit/src/com/meterware/httpunit WebRequest.java,1.45,1.46
Brought to you by:
russgold
From: Russell G. <rus...@us...> - 2002-08-29 20:51:18
|
Update of /cvsroot/httpunit/httpunit/src/com/meterware/httpunit In directory usw-pr-cvs1:/tmp/cvs-serv29952/src/com/meterware/httpunit Modified Files: WebRequest.java Log Message: WebRequest.getRequestParameterNames now only lists sent parameter names Index: WebRequest.java =================================================================== RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/WebRequest.java,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- WebRequest.java 23 Aug 2002 19:33:13 -0000 1.45 +++ WebRequest.java 29 Aug 2002 20:51:02 -0000 1.46 @@ -40,6 +40,8 @@ import java.util.Hashtable; import java.util.Vector; import java.util.Arrays; +import java.util.ArrayList; +import java.util.HashSet; /** * A request sent to a web server. @@ -186,7 +188,7 @@ /** - * Returns an enumeration of all parameters in this web request. + * Returns an enumeration of all parameters in this web request. May include some parameters that will not be sent. * @deprecated use getRequestParameterNames instead **/ public Enumeration getParameterNames() { @@ -195,11 +197,26 @@ /** - * Returns an array of all parameter names in this web request. + * Returns an array of all parameter names defined as part of this web request. * @since 1.3.1 **/ public String[] getRequestParameterNames() { - return _parameterHolder.getParameterNames(); + final HashSet names = new HashSet(); + ParameterProcessor pp = new ParameterProcessor() { + public void addParameter( String name, String value, String characterSet ) throws IOException { + names.add( name ); + } + public void addFile( String parameterName, UploadFileSpec fileSpec ) throws IOException { + names.add( parameterName ); + } + }; + + try { + _parameterHolder.recordPredefinedParameters( pp ); + _parameterHolder.recordParameters( pp ); + } catch (IOException e) {} + + return (String[]) names.toArray( new String[ names.size() ] ); } |