Пример #1
0
 public RequestStore processRequest(BufferedReader in) throws IOException {
   ArrayList<String> requestHeaders = readHeaders(in);
   parseInitialRequestLine(requestHeaders.remove(0));
   if (checkForQueryStringParams()) {
     processQueryStringParams();
     seturiWithDetachedParams();
   }
   parseHeadersIntoKeyValuePairs(requestHeaders);
   setMimeType(requestStore.getRequestUri());
   if (requestStore.getRequestContentLength() != null) {
     String bodyContent =
         checkForBlankLines(in)
             + readRequestBody(in, (requestStore.getRequestContentLength() - 1));
     requestStore.setRequestBody(bodyContent);
   }
   return requestStore;
 }
 @Test
 public void itShouldBeAbleToSetTheContentLength() throws IOException {
   StringReader request =
       new StringReader("GET / HTTP/1.1\nHost: www.Superawesome.com\nContent-Length: 45");
   BufferedReader in = new BufferedReader(request);
   RequestStore requestStore = new RequestStore();
   RequestParser requestParser = new RequestParser(in, requestStore);
   requestParser.readHeaders(in);
   Integer length = 45;
   assertEquals(length, requestStore.getRequestContentLength());
 }
 @Test
 public void itShouldBeAbleToParseARequest() throws IOException {
   StringReader request =
       new StringReader(
           "POST /form HTTP/1.1\nHost: www.Superawesome.com\nContent-Length: 24\n\r\nmy = data value1 = hello\n");
   BufferedReader in = new BufferedReader(request);
   RequestStore requestStore = new RequestStore();
   RequestParser requestParser = new RequestParser(in, requestStore);
   Integer length = 24;
   requestParser.processRequest(in);
   assertEquals("POST", requestStore.getMethod());
   assertEquals("/form", requestStore.getRequestUri());
   assertEquals("HTTP/1.1", requestStore.getProtocolVersion());
   assertEquals(length, requestStore.getRequestContentLength());
   assertEquals("my = data value1 = hello", requestStore.getRequestBody());
 }