mirror of
https://github.com/apache/struts.git
synced 2026-08-07 15:46:57 +00:00
Merge pull request #176 from lukaszlenart/multipart-regex
WW-4862: Multipart regex
This commit is contained in:
@@ -85,7 +85,7 @@ public class Dispatcher {
|
||||
*/
|
||||
public static final String REQUEST_POST_METHOD = "POST";
|
||||
|
||||
public static final String MULTIPART_FORM_DATA_REGEX = "^multipart/form-data(; boundary=[0-9a-zA-Z'()+_,\\-./:=?]{1,70})?";
|
||||
public static final String MULTIPART_FORM_DATA_REGEX = "^multipart/form-data(; boundary=[0-9a-zA-Z'()+_,\\-./:=?]{1,70})?(;charset=[a-zA-Z\\-0-9]{3,14})?";
|
||||
|
||||
/**
|
||||
* Provide a thread local instance.
|
||||
|
||||
@@ -291,6 +291,36 @@ public class DispatcherTest extends StrutsInternalTestCase {
|
||||
assertTrue(du.isMultipartSupportEnabled(req));
|
||||
}
|
||||
|
||||
public void testIsMultipartRequest() throws Exception {
|
||||
MockHttpServletRequest req = new MockHttpServletRequest();
|
||||
HttpServletResponse res = new MockHttpServletResponse();
|
||||
|
||||
req.setMethod("POST");
|
||||
Dispatcher du = initDispatcher(Collections.<String, String>emptyMap());
|
||||
du.prepare(req, res);
|
||||
|
||||
req.setContentType("multipart/form-data");
|
||||
assertTrue(du.isMultipartRequest(req));
|
||||
|
||||
req.setContentType("multipart/form-data; boundary=---------------------------207103069210263");
|
||||
assertTrue(du.isMultipartRequest(req));
|
||||
|
||||
req.setContentType("multipart/form-data; boundary=---------------------------207103069210263;charset=UTF-8");
|
||||
assertTrue(du.isMultipartRequest(req));
|
||||
|
||||
req.setContentType("multipart/form-data; boundary=---------------------------207103069210263;charset=ISO-8859-1");
|
||||
assertTrue(du.isMultipartRequest(req));
|
||||
|
||||
req.setContentType("multipart/form-data; boundary=---------------------------207103069210263;charset=Windows-1250");
|
||||
assertTrue(du.isMultipartRequest(req));
|
||||
|
||||
req.setContentType("multipart/form-data; boundary=---------------------------207103069210263;charset=US-ASCII");
|
||||
assertTrue(du.isMultipartRequest(req));
|
||||
|
||||
req.setContentType("multipart/form-data; boundary=---------------------------207103069210263;charset=UTF-16LE");
|
||||
assertTrue(du.isMultipartRequest(req));
|
||||
}
|
||||
|
||||
class InternalConfigurationManager extends ConfigurationManager {
|
||||
public boolean destroyConfiguration = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user