public Request body(final HttpEntity entity) { this.request.setEntity(entity); return this; }
protected ClassicHttpRequest makeRequestWithBody(final String method, final String requestUri) { final ClassicHttpRequest req = new BasicClassicHttpRequest(method, requestUri); final int nbytes = 128; req.setEntity(HttpTestUtils.makeBody(nbytes)); req.setHeader("Content-Length",""+nbytes); return req; }
public Request body(final HttpEntity entity) { this.request.setEntity(entity); return this; }
@Test public void testDoesNotModifyContentLengthOnRequests() throws Exception { final ClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/"); post.setEntity(HttpTestUtils.makeBody(128)); post.setHeader("Content-Length","128"); request = post; testDoesNotModifyHeaderOnRequests("Content-Length"); }
@Test public void testPOSTRequestsAreWrittenThroughToOrigin() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("POST","/"); req.setEntity(HttpTestUtils.makeBody(128)); req.setHeader("Content-Length","128"); testRequestIsWrittenThroughToOrigin(req); }
@Test public void testPUTRequestsAreWrittenThroughToOrigin() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("PUT","/"); req.setEntity(HttpTestUtils.makeBody(128)); req.setHeader("Content-Length","128"); testRequestIsWrittenThroughToOrigin(req); }
@Test public void testDoesNotModifyContentMD5OnRequests() throws Exception { final ClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/"); post.setEntity(HttpTestUtils.makeBody(128)); post.setHeader("Content-Length","128"); post.setHeader("Content-MD5","Q2hlY2sgSW50ZWdyaXR5IQ=="); request = post; testDoesNotModifyHeaderOnRequests("Content-MD5"); }
@Test public void testDoesNotModifyContentRangeOnRequests() throws Exception { final ClassicHttpRequest put = new BasicClassicHttpRequest("PUT", "/"); put.setEntity(HttpTestUtils.makeBody(128)); put.setHeader("Content-Length","128"); put.setHeader("Content-Range","bytes 0-127/256"); request = put; testDoesNotModifyHeaderOnRequests("Content-Range"); }
@Test public void testDoesNotModifyContentTypeOnRequests() throws Exception { final ClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/"); post.setEntity(HttpTestUtils.makeBody(128)); post.setHeader("Content-Length","128"); post.setHeader("Content-Type","application/octet-stream"); request = post; testDoesNotModifyHeaderOnRequests("Content-Type"); }
@Test public void testPUTWithIfNoneMatchWeakETagIsNotAllowed() throws Exception { final ClassicHttpRequest put = new BasicClassicHttpRequest("PUT", "/"); put.setEntity(HttpTestUtils.makeBody(128)); put.setHeader("Content-Length", "128"); put.setHeader("If-None-Match", "W/\"etag\""); request = put; testRequestWithWeakETagValidatorIsNotAllowed("If-None-Match"); }
@Test public void testPUTWithIfMatchWeakETagIsNotAllowed() throws Exception { final ClassicHttpRequest put = new BasicClassicHttpRequest("PUT", "/"); put.setEntity(HttpTestUtils.makeBody(128)); put.setHeader("Content-Length", "128"); put.setHeader("If-Match", "W/\"etag\""); request = put; testRequestWithWeakETagValidatorIsNotAllowed("If-Match"); }
@Ignore public void testHTTP1_1RequestsWithBodiesOfKnownLengthMustHaveContentLength() throws Exception { final ClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/"); post.setEntity(mockEntity); replayMocks(); final HttpResponse response = execute(post); verifyMocks(); Assert.assertEquals(HttpStatus.SC_LENGTH_REQUIRED, response.getCode()); }
new Object[] { bytes }).addMockedMethods("getContentLength").createNiceMock(); org.easymock.EasyMock.expect(mockBody.getContentLength()).andReturn(-1L).anyTimes(); post.setEntity(mockBody);
static void enhance(final ClassicHttpRequest request) { final HttpEntity entity = request.getEntity(); if (entity != null && !entity.isRepeatable() && !isEnhanced(entity)) { request.setEntity(new RequestEntityProxy(entity)); } }
@Override public void receiveRequestEntity(final ClassicHttpRequest request) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final SocketHolder socketHolder = ensureOpen(); final long len = this.incomingContentStrategy.determineLength(request); if (len == ContentLengthStrategy.UNDEFINED) { return; } request.setEntity(createIncomingEntity(request, this.inBuffer, socketHolder.getInputStream(), len)); }
@Override public void receiveRequestEntity(final ClassicHttpRequest request) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final SocketHolder socketHolder = ensureOpen(); final long len = this.incomingContentStrategy.determineLength(request); if (len == ContentLengthStrategy.UNDEFINED) { return; } request.setEntity(createIncomingEntity(request, this.inBuffer, socketHolder.getInputStream(), len)); }
@Test(expected = LengthRequiredException.class) public void testWriteRequestEntityNoContentLength() throws Exception { final ByteArrayOutputStream outStream = new ByteArrayOutputStream(); Mockito.when(socket.getOutputStream()).thenReturn(outStream); conn.bind(socket); Assert.assertEquals(0, conn.getEndpointDetails().getRequestCount()); final ClassicHttpRequest request = new BasicClassicHttpRequest("POST", "/stuff"); request.addHeader("User-Agent", "test"); request.setEntity(new StringEntity("123", ContentType.TEXT_PLAIN)); conn.sendRequestHeader(request); conn.sendRequestEntity(request); }
@Test public void testWriteRequestEntityChunkCoded() throws Exception { final ByteArrayOutputStream outStream = new ByteArrayOutputStream(); Mockito.when(socket.getOutputStream()).thenReturn(outStream); conn.bind(socket); Assert.assertEquals(0, conn.getEndpointDetails().getRequestCount()); final ClassicHttpRequest request = new BasicClassicHttpRequest("POST", "/stuff"); request.addHeader("User-Agent", "test"); request.addHeader("Transfer-Encoding", "chunked"); request.setEntity(new StringEntity("123", ContentType.TEXT_PLAIN)); conn.sendRequestHeader(request); conn.sendRequestEntity(request); conn.flush(); Assert.assertEquals(1, conn.getEndpointDetails().getRequestCount()); final String s = new String(outStream.toByteArray(), "ASCII"); Assert.assertEquals("POST /stuff HTTP/1.1\r\nUser-Agent: test\r\nTransfer-Encoding: " + "chunked\r\n\r\n3\r\n123\r\n0\r\n\r\n", s); }
@Test public void testWriteRequestEntityWithContentLength() throws Exception { final ByteArrayOutputStream outStream = new ByteArrayOutputStream(); Mockito.when(socket.getOutputStream()).thenReturn(outStream); conn.bind(socket); Assert.assertEquals(0, conn.getEndpointDetails().getRequestCount()); final ClassicHttpRequest request = new BasicClassicHttpRequest("POST", "/stuff"); request.addHeader("User-Agent", "test"); request.addHeader("Content-Length", "3"); request.setEntity(new StringEntity("123", ContentType.TEXT_PLAIN)); conn.sendRequestHeader(request); conn.sendRequestEntity(request); conn.flush(); Assert.assertEquals(1, conn.getEndpointDetails().getRequestCount()); final String s = new String(outStream.toByteArray(), "ASCII"); Assert.assertEquals("POST /stuff HTTP/1.1\r\nUser-Agent: test\r\nContent-Length: 3\r\n\r\n123", s); }
@Test public void testTerminateRequestContentLengthLong() throws Exception { final ByteArrayOutputStream outStream = new ByteArrayOutputStream(); Mockito.when(socket.getOutputStream()).thenReturn(outStream); conn.bind(socket); Assert.assertEquals(0, conn.getEndpointDetails().getRequestCount()); final ClassicHttpRequest request = new BasicClassicHttpRequest("POST", "/stuff"); request.addHeader("User-Agent", "test"); request.addHeader("Content-Length", "3000"); final ByteArrayEntity entity = new ByteArrayEntity(new byte[3000], ContentType.TEXT_PLAIN); entity.setChunked(false); request.setEntity(entity); conn.sendRequestHeader(request); conn.terminateRequest(request); conn.flush(); Assert.assertEquals(1, conn.getEndpointDetails().getRequestCount()); final String s = new String(outStream.toByteArray(), "ASCII"); Assert.assertEquals("POST /stuff HTTP/1.1\r\nUser-Agent: test\r\nContent-Length: " + "3000\r\n\r\n", s); Assert.assertFalse(conn.isConsistent()); }