예제 #1
0
  @Test
  public void testNegativeContentLength() {
    HttpRequest request = HttpRequest.get("http://jodd.org/?id=173");
    request.contentLength(-123);

    byte[] bytes = request.toByteArray();
    try {
      HttpRequest request2 = HttpRequest.readFrom(new ByteArrayInputStream(bytes));
      assertEquals("", request2.body());
    } catch (Exception ex) {
      Assert.fail(ex.toString());
    }

    // the same test but with missing content length

    request = HttpRequest.get("http://jodd.org/?id=173");

    bytes = request.toByteArray();
    try {
      HttpRequest request2 = HttpRequest.readFrom(new ByteArrayInputStream(bytes));
      assertEquals("", request2.body());
    } catch (Exception ex) {
      Assert.fail(ex.toString());
    }
  }
예제 #2
0
  @Test
  public void testFileUpload() throws IOException {
    HttpRequest request = HttpRequest.get("http://jodd.org/?id=173");

    request.header("User-Agent", "Scaly").form("one", "funny");

    File tempFile = FileUtil.createTempFile();
    tempFile.deleteOnExit();
    FileUtil.writeString(tempFile, "qwerty");
    request.form("two", tempFile);

    byte[] bytes = request.toByteArray();

    // read
    HttpRequest request2 = HttpRequest.readFrom(new ByteArrayInputStream(bytes));
    Map<String, Object[]> httpParams2 = request2.form();

    assertEquals(request.method(), request2.method());
    assertEquals(request.path(), request2.path());
    assertEquals(request.queryString(), request2.queryString());

    assertEquals(request.header("User-Agent"), request2.header("User-Agent"));
    assertEquals(request.header("Content-Type"), request2.header("content-type"));
    assertEquals(request.header("Content-Length"), request2.header("content-length"));

    Map params1 = request.form();
    Map params2 = request2.form();
    assertEquals(params1.size(), params2.size());
    assertEquals(params2.get("one"), params2.get("one"));

    FileUpload fu = (FileUpload) httpParams2.get("two")[0];
    assertEquals(6, fu.getSize());

    String str = new String(fu.getFileContent());
    assertEquals("qwerty", str);

    tempFile.delete();
  }
예제 #3
0
  @Test
  public void testInOutForm() {
    HttpRequest request = HttpRequest.get("http://jodd.org/?id=173");
    request.header("User-Agent", "Scaly");
    request.form("one", "funny");

    byte[] bytes = request.toByteArray();

    // read
    HttpRequest request2 = HttpRequest.readFrom(new ByteArrayInputStream(bytes));

    assertEquals(request.method(), request2.method());
    assertEquals(request.path(), request2.path());
    assertEquals(request.queryString(), request2.queryString());

    assertEquals(request.header("User-Agent"), request2.header("User-Agent"));
    assertEquals(request.header("Content-Type"), request2.header("content-type"));
    assertEquals(request.header("Content-Length"), request2.header("content-length"));

    Map params1 = request.form();
    Map params2 = request2.form();
    assertEquals(params1.size(), params2.size());
    assertEquals(params2.get("one"), params2.get("one"));
  }