@Test public void shouldParseEmptyFields() throws MalformedInputException { String data = ""; Parser<Map<String, String>> parser = new QueryStringParser(); Map<String, String> parameters = parser.parse(data); assertThat(parameters.size(), is(0)); }
@Test public void shouldParseNonValidString() throws MalformedInputException { String data = "/"; Parser<Map<String, String>> parser = new QueryStringParser(); Map<String, String> parameters = parser.parse(data); assertThat(parameters.size(), is(0)); }
@Test public void shouldParseFields() throws MalformedInputException { String data = "¶m1=ABCD1" + "¶m2=ABCD2" + "¶m3=ABC=DEF" + "¶m4=A%20B%20%3D%20%25%20*"; Parser<Map<String, String>> parser = new QueryStringParser(); Map<String, String> parameters = parser.parse(data); assertThat(parameters.size(), is(4)); assertThat(parameters.get("param1"), is("ABCD1")); assertThat(parameters.get("param2"), is("ABCD2")); assertThat(parameters.get("param3"), is("ABC=DEF")); assertThat(parameters.get("param4"), is("A B = % *")); }
@Test public void shouldParseIncompleteFields() throws MalformedInputException { String data = "=¶m1=" + "&&" + "¶m1=" + "¶m2=ABCD2" + "¶m3=ABC=DEF" + "¶m4=A%20B%20%3D%20%25%20*"; Parser<Map<String, String>> parser = new QueryStringParser(); Map<String, String> parameters = parser.parse(data); assertThat(parameters.size(), is(4)); assertThat(parameters.get("param1"), is("")); assertThat(parameters.get("param2"), is("ABCD2")); assertThat(parameters.get("param3"), is("ABC=DEF")); assertThat(parameters.get("param4"), is("A B = % *")); } }
public ServiceContainer(final ServerConfig serverConfig) { HeadersParser headersParser = new HeadersParser(); requestWrapperFactory = new HttpServletRequestImplFactory(headersParser, new QueryStringParser(), new RequestStatusParser(), new CookieParser(), new MultipartHeadersPartParser(headersParser), serverConfig.getTempPath() ); responseFactory = new HttpServletResponseImplFactory( new HeadersSerializer(), new CookieHeaderSerializer(new DateProvider()), new StreamHelper( new RangeHelper(), new RangePartHeaderSerializer() ) ); threadPoolExecutor = new ThreadPoolExecutor(1, serverConfig.getMaxServerThreads(), DEFAULT_TIME_UNITS, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(serverConfig.getMaxServerThreads() * MAX_THREADS_MULTIPLIER), Executors.defaultThreadFactory(), new ServiceUnavailableHandler(responseFactory) ); httpErrorHandlerResolver = new HttpErrorHandlerResolverImpl(serverConfig); pathHelper = new PathHelper(); }