diff --git a/build.gradle b/build.gradle index 7434dc9..b762f6d 100644 --- a/build.gradle +++ b/build.gradle @@ -17,4 +17,5 @@ dependencies { compile 'org.testcontainers:testcontainers:1.8.3' compile 'org.toile-libre.libe:curl:0.0.19' compile 'org.java-websocket:Java-WebSocket:1.3.9' + compile group: 'commons-codec', name: 'commons-codec', version: '1.5' } diff --git a/src/test/java/SozuContainerTest.java b/src/test/java/SozuContainerTest.java index 33b3633..4d448af 100644 --- a/src/test/java/SozuContainerTest.java +++ b/src/test/java/SozuContainerTest.java @@ -1,3 +1,4 @@ +import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.HttpResponse; import org.java_websocket.client.WebSocketClient; import org.java_websocket.handshake.ServerHandshake; @@ -6,6 +7,7 @@ import org.testcontainers.containers.output.OutputFrame; import org.testcontainers.containers.output.ToStringConsumer; import org.testcontainers.shaded.org.apache.commons.io.IOUtils; +import org.testcontainers.utility.MountableFile; import utils.Backend; import java.io.InputStream; @@ -277,4 +279,33 @@ public void testHttpsredirect() throws Exception { String location = res.getFirstHeader("Location").getValue(); assertEquals("https://httpsredirect.com/", location); } + + + @Test + public void testchunkedResponse() throws Exception { + String largeFilePath = "node-backends/lorem.txt"; + URL sozuUrl = sozuContainer.getBaseUrl("http", SozuContainer.DEFAULT_HTTP_PORT); + + Backend backend = new Backend("waagh", "172.18.0.13", 8005); + NodeBackendContainer nodeBackend = new NodeBackendContainer(backend.getAddress(), Paths.get("node-backends/app-chunk-response.js"), backend.getPort()); + nodeBackend.withCopyFileToContainer(MountableFile.forClasspathResource(largeFilePath),"/"); + nodeBackend.withEnv("FILE", "lorem.txt"); + nodeBackend.start(); + + + // The server sends a file as chunked response + HttpResponse res = curl("-H 'Host: chunkedresponse.com' " + sozuUrl.toString()); + + + // Verify if the client receives all the packets and check the file sha1sum + assertEquals(HTTP_OK, res.getStatusLine().getStatusCode()); + InputStream inputStreamContent = res.getEntity().getContent(); + InputStream inputStreamFile = this.getClass().getClassLoader().getResourceAsStream(largeFilePath); + + String sha1Hex = DigestUtils.sha1Hex(inputStreamContent); + String sha1HexExpected = DigestUtils.sha1Hex(inputStreamFile); + assertEquals(sha1Hex, sha1HexExpected); + + nodeBackend.stop(); + } } diff --git a/src/test/resources/node-backends/app-chunk-response.js b/src/test/resources/node-backends/app-chunk-response.js new file mode 100644 index 0000000..8ce578c --- /dev/null +++ b/src/test/resources/node-backends/app-chunk-response.js @@ -0,0 +1,30 @@ +const fs = require('fs') + +const port = process.env.PORT || 1026 +const file = process.env.FILE || "app.js" + +require('http').createServer((req, res) => { + + if (req.method === 'POST') { + let body = '' + req.on('data', chunk => { + console.log("received chunk: "+chunk.length) + body += chunk.toString() + }) + req.on('end', () => { + res.end('ok') + }) + } + else { + const src = fs.createReadStream(file, { highWaterMark: 4096 }) + src.on('data', (chunk) => { + console.log("chunk: "+chunk.length); + res.write(chunk) + }) + src.on('end', () => { + res.end() + }) + } +}).listen(port) + +console.log(`server app-chunk-response is listening on ${port} with file ${file}`) \ No newline at end of file diff --git a/src/test/resources/node-backends/lorem.txt b/src/test/resources/node-backends/lorem.txt new file mode 100644 index 0000000..452ae04 --- /dev/null +++ b/src/test/resources/node-backends/lorem.txt @@ -0,0 +1,79 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque dui mauris, nec dapibus mauris eleifend a. Aliquam consequat arcu a est faucibus aliquet. Nullam eget eros sed nisi accumsan dignissim. Duis laoreet magna nec elit condimentum tempor. Morbi vitae sem massa. Vestibulum vitae erat vitae felis egestas ultrices a at diam. Quisque bibendum ultricies risus, id malesuada ex imperdiet vitae. Vivamus in dui auctor, efficitur lacus sed, auctor leo. Vestibulum imperdiet urna ullamcorper elit dapibus dictum. Aenean pellentesque orci nulla, nec facilisis neque tristique ut. Morbi posuere sodales dignissim. + +Aenean interdum quam vitae tellus mollis gravida. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer elementum facilisis velit. Vivamus id tortor eu orci sodales porta eget nec nunc. In auctor libero ac volutpat imperdiet. Maecenas non volutpat ante. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla sed arcu nulla. In vel ex sed nibh fermentum rutrum id quis sem. Sed in justo vitae arcu sodales ultrices. Quisque justo leo, venenatis ac mauris nec, placerat rhoncus urna. Proin sodales ligula nec venenatis maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. + +Suspendisse ut odio odio. Donec interdum mauris vel enim eleifend, non vulputate ligula semper. Duis rutrum viverra eros, et consequat ante faucibus ac. Proin a vestibulum felis. Maecenas id facilisis nisl. Nunc placerat purus at metus fringilla, sit amet tempus libero sodales. Praesent ac augue sed nunc pulvinar pulvinar. Praesent semper at mauris eu sodales. Cras eros nisl, sagittis egestas blandit vehicula, sodales et urna. Nunc a mi tempus, hendrerit elit ut, blandit diam. Suspendisse sagittis dapibus tellus, nec imperdiet est rhoncus et. Integer at mollis urna, non ultrices arcu. In suscipit urna nunc, id sagittis nunc ultricies vel. + +Curabitur ornare dictum augue. Aenean enim odio, pharetra non bibendum a, suscipit in odio. Curabitur ac efficitur arcu. Praesent pulvinar mattis quam, id fringilla metus fringilla et. Fusce eget tincidunt dolor, sed ornare nisi. Integer posuere non massa a accumsan. Donec aliquam tempus felis, in accumsan turpis gravida in. Donec eget sollicitudin erat. Etiam at maximus nibh, quis tincidunt lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed a sapien eros. + +Cras maximus, nulla non dapibus sollicitudin, libero augue gravida lacus, vel egestas quam risus at sem. Donec vel ligula risus. Aliquam vitae arcu maximus, ullamcorper odio eu, convallis turpis. Pellentesque lobortis bibendum sem vel eleifend. Vestibulum sollicitudin justo ac odio blandit convallis. Sed quis sodales arcu. Suspendisse semper est vel mauris tincidunt fermentum. Donec aliquam bibendum lorem, ac pharetra tortor bibendum sit amet. + +Interdum et malesuada fames ac ante ipsum primis in faucibus. Vestibulum et commodo est. Aenean egestas nibh in tortor pellentesque consequat. Quisque ullamcorper euismod tortor sed iaculis. Sed sit amet justo pulvinar, pharetra ante non, volutpat leo. Nunc iaculis vehicula massa sit amet pulvinar. Aenean semper diam dolor, vel dignissim nibh egestas at. Curabitur ipsum arcu, viverra at porttitor et, tempus non massa. + +Aenean lorem lectus, blandit eget facilisis a, condimentum ac neque. Donec id dignissim eros. Proin quis mattis ligula. Morbi commodo facilisis porta. Curabitur efficitur eu turpis nec feugiat. Duis eget odio molestie nisl ullamcorper ullamcorper. In elit dui, euismod at lectus sed, rutrum ultricies ipsum. Cras semper lacinia nulla. Pellentesque eu orci magna. + +Nullam orci arcu, lacinia non viverra et, pellentesque eget diam. Nam libero turpis, condimentum quis orci quis, faucibus euismod arcu. Suspendisse facilisis commodo augue, blandit commodo felis blandit quis. Morbi consectetur pretium enim, nec finibus urna ultricies a. Phasellus pretium ac lorem id varius. Nullam viverra sem id lorem feugiat, id luctus nisi interdum. Maecenas viverra erat ac justo ultricies sollicitudin. Cras sed vulputate augue. Quisque euismod rutrum pharetra. Curabitur nunc sapien, tristique eu mi vitae, elementum fringilla dolor. Morbi placerat nibh nulla, in pulvinar ex accumsan at. Proin orci augue, venenatis in augue quis, pellentesque commodo tortor. Nunc nulla sem, euismod vel iaculis sed, vestibulum ac erat. Donec lorem ex, lacinia sed porttitor eu, elementum sit amet libero. Aenean ultrices, purus eget hendrerit commodo, enim felis consectetur elit, id auctor urna elit accumsan sem. Proin pretium tincidunt semper. + +Aliquam faucibus est tortor, semper imperdiet risus tristique a. Quisque ac tempor sapien. Aenean quis tincidunt turpis. Cras lectus libero, congue bibendum interdum in, ultricies sed quam. Nulla scelerisque viverra libero sit amet tincidunt. Maecenas bibendum blandit neque, quis dictum metus pulvinar non. Nunc condimentum ultrices blandit. Suspendisse ornare justo dolor, quis ultrices eros tincidunt in. Donec varius tellus quis maximus vestibulum. Vestibulum ac rhoncus ligula. Mauris ut consequat libero, quis malesuada quam. In a venenatis urna. Integer lobortis tempus turpis, sit amet elementum velit auctor ac. + +Quisque efficitur purus ac finibus finibus. Suspendisse imperdiet scelerisque urna, quis vestibulum mauris laoreet fermentum. Duis id nisl sed lectus ultricies ornare. Praesent a lectus lacinia purus lobortis tincidunt. Nullam egestas erat diam, ac bibendum erat condimentum a. Integer et arcu sed tellus varius interdum. Suspendisse interdum, felis in ultrices sollicitudin, mauris lorem efficitur metus, et blandit libero justo vel turpis. Sed ullamcorper aliquam quam, non pellentesque risus. Duis nisl nisl, vulputate vel orci quis, aliquet tempus justo. In blandit sodales diam, non convallis arcu. Nullam gravida mauris sit amet metus feugiat, a auctor dui lacinia. Aenean dignissim tellus a elit laoreet sodales. Pellentesque ultrices lectus purus, in rutrum erat cursus vitae. Nulla ut eleifend lorem. In vulputate condimentum lectus, viverra malesuada odio feugiat non. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque dui mauris, nec dapibus mauris eleifend a. Aliquam consequat arcu a est faucibus aliquet. Nullam eget eros sed nisi accumsan dignissim. Duis laoreet magna nec elit condimentum tempor. Morbi vitae sem massa. Vestibulum vitae erat vitae felis egestas ultrices a at diam. Quisque bibendum ultricies risus, id malesuada ex imperdiet vitae. Vivamus in dui auctor, efficitur lacus sed, auctor leo. Vestibulum imperdiet urna ullamcorper elit dapibus dictum. Aenean pellentesque orci nulla, nec facilisis neque tristique ut. Morbi posuere sodales dignissim. + +Aenean interdum quam vitae tellus mollis gravida. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer elementum facilisis velit. Vivamus id tortor eu orci sodales porta eget nec nunc. In auctor libero ac volutpat imperdiet. Maecenas non volutpat ante. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla sed arcu nulla. In vel ex sed nibh fermentum rutrum id quis sem. Sed in justo vitae arcu sodales ultrices. Quisque justo leo, venenatis ac mauris nec, placerat rhoncus urna. Proin sodales ligula nec venenatis maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. + +Suspendisse ut odio odio. Donec interdum mauris vel enim eleifend, non vulputate ligula semper. Duis rutrum viverra eros, et consequat ante faucibus ac. Proin a vestibulum felis. Maecenas id facilisis nisl. Nunc placerat purus at metus fringilla, sit amet tempus libero sodales. Praesent ac augue sed nunc pulvinar pulvinar. Praesent semper at mauris eu sodales. Cras eros nisl, sagittis egestas blandit vehicula, sodales et urna. Nunc a mi tempus, hendrerit elit ut, blandit diam. Suspendisse sagittis dapibus tellus, nec imperdiet est rhoncus et. Integer at mollis urna, non ultrices arcu. In suscipit urna nunc, id sagittis nunc ultricies vel. + +Curabitur ornare dictum augue. Aenean enim odio, pharetra non bibendum a, suscipit in odio. Curabitur ac efficitur arcu. Praesent pulvinar mattis quam, id fringilla metus fringilla et. Fusce eget tincidunt dolor, sed ornare nisi. Integer posuere non massa a accumsan. Donec aliquam tempus felis, in accumsan turpis gravida in. Donec eget sollicitudin erat. Etiam at maximus nibh, quis tincidunt lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed a sapien eros. + +Cras maximus, nulla non dapibus sollicitudin, libero augue gravida lacus, vel egestas quam risus at sem. Donec vel ligula risus. Aliquam vitae arcu maximus, ullamcorper odio eu, convallis turpis. Pellentesque lobortis bibendum sem vel eleifend. Vestibulum sollicitudin justo ac odio blandit convallis. Sed quis sodales arcu. Suspendisse semper est vel mauris tincidunt fermentum. Donec aliquam bibendum lorem, ac pharetra tortor bibendum sit amet. + +Interdum et malesuada fames ac ante ipsum primis in faucibus. Vestibulum et commodo est. Aenean egestas nibh in tortor pellentesque consequat. Quisque ullamcorper euismod tortor sed iaculis. Sed sit amet justo pulvinar, pharetra ante non, volutpat leo. Nunc iaculis vehicula massa sit amet pulvinar. Aenean semper diam dolor, vel dignissim nibh egestas at. Curabitur ipsum arcu, viverra at porttitor et, tempus non massa. + +Aenean lorem lectus, blandit eget facilisis a, condimentum ac neque. Donec id dignissim eros. Proin quis mattis ligula. Morbi commodo facilisis porta. Curabitur efficitur eu turpis nec feugiat. Duis eget odio molestie nisl ullamcorper ullamcorper. In elit dui, euismod at lectus sed, rutrum ultricies ipsum. Cras semper lacinia nulla. Pellentesque eu orci magna. + +Nullam orci arcu, lacinia non viverra et, pellentesque eget diam. Nam libero turpis, condimentum quis orci quis, faucibus euismod arcu. Suspendisse facilisis commodo augue, blandit commodo felis blandit quis. Morbi consectetur pretium enim, nec finibus urna ultricies a. Phasellus pretium ac lorem id varius. Nullam viverra sem id lorem feugiat, id luctus nisi interdum. Maecenas viverra erat ac justo ultricies sollicitudin. Cras sed vulputate augue. Quisque euismod rutrum pharetra. Curabitur nunc sapien, tristique eu mi vitae, elementum fringilla dolor. Morbi placerat nibh nulla, in pulvinar ex accumsan at. Proin orci augue, venenatis in augue quis, pellentesque commodo tortor. Nunc nulla sem, euismod vel iaculis sed, vestibulum ac erat. Donec lorem ex, lacinia sed porttitor eu, elementum sit amet libero. Aenean ultrices, purus eget hendrerit commodo, enim felis consectetur elit, id auctor urna elit accumsan sem. Proin pretium tincidunt semper. + +Aliquam faucibus est tortor, semper imperdiet risus tristique a. Quisque ac tempor sapien. Aenean quis tincidunt turpis. Cras lectus libero, congue bibendum interdum in, ultricies sed quam. Nulla scelerisque viverra libero sit amet tincidunt. Maecenas bibendum blandit neque, quis dictum metus pulvinar non. Nunc condimentum ultrices blandit. Suspendisse ornare justo dolor, quis ultrices eros tincidunt in. Donec varius tellus quis maximus vestibulum. Vestibulum ac rhoncus ligula. Mauris ut consequat libero, quis malesuada quam. In a venenatis urna. Integer lobortis tempus turpis, sit amet elementum velit auctor ac. + +Quisque efficitur purus ac finibus finibus. Suspendisse imperdiet scelerisque urna, quis vestibulum mauris laoreet fermentum. Duis id nisl sed lectus ultricies ornare. Praesent a lectus lacinia purus lobortis tincidunt. Nullam egestas erat diam, ac bibendum erat condimentum a. Integer et arcu sed tellus varius interdum. Suspendisse interdum, felis in ultrices sollicitudin, mauris lorem efficitur metus, et blandit libero justo vel turpis. Sed ullamcorper aliquam quam, non pellentesque risus. Duis nisl nisl, vulputate vel orci quis, aliquet tempus justo. In blandit sodales diam, non convallis arcu. Nullam gravida mauris sit amet metus feugiat, a auctor dui lacinia. Aenean dignissim tellus a elit laoreet sodales. Pellentesque ultrices lectus purus, in rutrum erat cursus vitae. Nulla ut eleifend lorem. In vulputate condimentum lectus, viverra malesuada odio feugiat non. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque dui mauris, nec dapibus mauris eleifend a. Aliquam consequat arcu a est faucibus aliquet. Nullam eget eros sed nisi accumsan dignissim. Duis laoreet magna nec elit condimentum tempor. Morbi vitae sem massa. Vestibulum vitae erat vitae felis egestas ultrices a at diam. Quisque bibendum ultricies risus, id malesuada ex imperdiet vitae. Vivamus in dui auctor, efficitur lacus sed, auctor leo. Vestibulum imperdiet urna ullamcorper elit dapibus dictum. Aenean pellentesque orci nulla, nec facilisis neque tristique ut. Morbi posuere sodales dignissim. + +Aenean interdum quam vitae tellus mollis gravida. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer elementum facilisis velit. Vivamus id tortor eu orci sodales porta eget nec nunc. In auctor libero ac volutpat imperdiet. Maecenas non volutpat ante. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla sed arcu nulla. In vel ex sed nibh fermentum rutrum id quis sem. Sed in justo vitae arcu sodales ultrices. Quisque justo leo, venenatis ac mauris nec, placerat rhoncus urna. Proin sodales ligula nec venenatis maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. + +Suspendisse ut odio odio. Donec interdum mauris vel enim eleifend, non vulputate ligula semper. Duis rutrum viverra eros, et consequat ante faucibus ac. Proin a vestibulum felis. Maecenas id facilisis nisl. Nunc placerat purus at metus fringilla, sit amet tempus libero sodales. Praesent ac augue sed nunc pulvinar pulvinar. Praesent semper at mauris eu sodales. Cras eros nisl, sagittis egestas blandit vehicula, sodales et urna. Nunc a mi tempus, hendrerit elit ut, blandit diam. Suspendisse sagittis dapibus tellus, nec imperdiet est rhoncus et. Integer at mollis urna, non ultrices arcu. In suscipit urna nunc, id sagittis nunc ultricies vel. + +Curabitur ornare dictum augue. Aenean enim odio, pharetra non bibendum a, suscipit in odio. Curabitur ac efficitur arcu. Praesent pulvinar mattis quam, id fringilla metus fringilla et. Fusce eget tincidunt dolor, sed ornare nisi. Integer posuere non massa a accumsan. Donec aliquam tempus felis, in accumsan turpis gravida in. Donec eget sollicitudin erat. Etiam at maximus nibh, quis tincidunt lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed a sapien eros. + +Cras maximus, nulla non dapibus sollicitudin, libero augue gravida lacus, vel egestas quam risus at sem. Donec vel ligula risus. Aliquam vitae arcu maximus, ullamcorper odio eu, convallis turpis. Pellentesque lobortis bibendum sem vel eleifend. Vestibulum sollicitudin justo ac odio blandit convallis. Sed quis sodales arcu. Suspendisse semper est vel mauris tincidunt fermentum. Donec aliquam bibendum lorem, ac pharetra tortor bibendum sit amet. + +Interdum et malesuada fames ac ante ipsum primis in faucibus. Vestibulum et commodo est. Aenean egestas nibh in tortor pellentesque consequat. Quisque ullamcorper euismod tortor sed iaculis. Sed sit amet justo pulvinar, pharetra ante non, volutpat leo. Nunc iaculis vehicula massa sit amet pulvinar. Aenean semper diam dolor, vel dignissim nibh egestas at. Curabitur ipsum arcu, viverra at porttitor et, tempus non massa. + +Aenean lorem lectus, blandit eget facilisis a, condimentum ac neque. Donec id dignissim eros. Proin quis mattis ligula. Morbi commodo facilisis porta. Curabitur efficitur eu turpis nec feugiat. Duis eget odio molestie nisl ullamcorper ullamcorper. In elit dui, euismod at lectus sed, rutrum ultricies ipsum. Cras semper lacinia nulla. Pellentesque eu orci magna. + +Nullam orci arcu, lacinia non viverra et, pellentesque eget diam. Nam libero turpis, condimentum quis orci quis, faucibus euismod arcu. Suspendisse facilisis commodo augue, blandit commodo felis blandit quis. Morbi consectetur pretium enim, nec finibus urna ultricies a. Phasellus pretium ac lorem id varius. Nullam viverra sem id lorem feugiat, id luctus nisi interdum. Maecenas viverra erat ac justo ultricies sollicitudin. Cras sed vulputate augue. Quisque euismod rutrum pharetra. Curabitur nunc sapien, tristique eu mi vitae, elementum fringilla dolor. Morbi placerat nibh nulla, in pulvinar ex accumsan at. Proin orci augue, venenatis in augue quis, pellentesque commodo tortor. Nunc nulla sem, euismod vel iaculis sed, vestibulum ac erat. Donec lorem ex, lacinia sed porttitor eu, elementum sit amet libero. Aenean ultrices, purus eget hendrerit commodo, enim felis consectetur elit, id auctor urna elit accumsan sem. Proin pretium tincidunt semper. + +Aliquam faucibus est tortor, semper imperdiet risus tristique a. Quisque ac tempor sapien. Aenean quis tincidunt turpis. Cras lectus libero, congue bibendum interdum in, ultricies sed quam. Nulla scelerisque viverra libero sit amet tincidunt. Maecenas bibendum blandit neque, quis dictum metus pulvinar non. Nunc condimentum ultrices blandit. Suspendisse ornare justo dolor, quis ultrices eros tincidunt in. Donec varius tellus quis maximus vestibulum. Vestibulum ac rhoncus ligula. Mauris ut consequat libero, quis malesuada quam. In a venenatis urna. Integer lobortis tempus turpis, sit amet elementum velit auctor ac. + +Quisque efficitur purus ac finibus finibus. Suspendisse imperdiet scelerisque urna, quis vestibulum mauris laoreet fermentum. Duis id nisl sed lectus ultricies ornare. Praesent a lectus lacinia purus lobortis tincidunt. Nullam egestas erat diam, ac bibendum erat condimentum a. Integer et arcu sed tellus varius interdum. Suspendisse interdum, felis in ultrices sollicitudin, mauris lorem efficitur metus, et blandit libero justo vel turpis. Sed ullamcorper aliquam quam, non pellentesque risus. Duis nisl nisl, vulputate vel orci quis, aliquet tempus justo. In blandit sodales diam, non convallis arcu. Nullam gravida mauris sit amet metus feugiat, a auctor dui lacinia. Aenean dignissim tellus a elit laoreet sodales. Pellentesque ultrices lectus purus, in rutrum erat cursus vitae. Nulla ut eleifend lorem. In vulputate condimentum lectus, viverra malesuada odio feugiat non. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque dui mauris, nec dapibus mauris eleifend a. Aliquam consequat arcu a est faucibus aliquet. Nullam eget eros sed nisi accumsan dignissim. Duis laoreet magna nec elit condimentum tempor. Morbi vitae sem massa. Vestibulum vitae erat vitae felis egestas ultrices a at diam. Quisque bibendum ultricies risus, id malesuada ex imperdiet vitae. Vivamus in dui auctor, efficitur lacus sed, auctor leo. Vestibulum imperdiet urna ullamcorper elit dapibus dictum. Aenean pellentesque orci nulla, nec facilisis neque tristique ut. Morbi posuere sodales dignissim. + +Aenean interdum quam vitae tellus mollis gravida. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer elementum facilisis velit. Vivamus id tortor eu orci sodales porta eget nec nunc. In auctor libero ac volutpat imperdiet. Maecenas non volutpat ante. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla sed arcu nulla. In vel ex sed nibh fermentum rutrum id quis sem. Sed in justo vitae arcu sodales ultrices. Quisque justo leo, venenatis ac mauris nec, placerat rhoncus urna. Proin sodales ligula nec venenatis maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. + +Suspendisse ut odio odio. Donec interdum mauris vel enim eleifend, non vulputate ligula semper. Duis rutrum viverra eros, et consequat ante faucibus ac. Proin a vestibulum felis. Maecenas id facilisis nisl. Nunc placerat purus at metus fringilla, sit amet tempus libero sodales. Praesent ac augue sed nunc pulvinar pulvinar. Praesent semper at mauris eu sodales. Cras eros nisl, sagittis egestas blandit vehicula, sodales et urna. Nunc a mi tempus, hendrerit elit ut, blandit diam. Suspendisse sagittis dapibus tellus, nec imperdiet est rhoncus et. Integer at mollis urna, non ultrices arcu. In suscipit urna nunc, id sagittis nunc ultricies vel. + +Curabitur ornare dictum augue. Aenean enim odio, pharetra non bibendum a, suscipit in odio. Curabitur ac efficitur arcu. Praesent pulvinar mattis quam, id fringilla metus fringilla et. Fusce eget tincidunt dolor, sed ornare nisi. Integer posuere non massa a accumsan. Donec aliquam tempus felis, in accumsan turpis gravida in. Donec eget sollicitudin erat. Etiam at maximus nibh, quis tincidunt lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed a sapien eros. + +Cras maximus, nulla non dapibus sollicitudin, libero augue gravida lacus, vel egestas quam risus at sem. Donec vel ligula risus. Aliquam vitae arcu maximus, ullamcorper odio eu, convallis turpis. Pellentesque lobortis bibendum sem vel eleifend. Vestibulum sollicitudin justo ac odio blandit convallis. Sed quis sodales arcu. Suspendisse semper est vel mauris tincidunt fermentum. Donec aliquam bibendum lorem, ac pharetra tortor bibendum sit amet. + +Interdum et malesuada fames ac ante ipsum primis in faucibus. Vestibulum et commodo est. Aenean egestas nibh in tortor pellentesque consequat. Quisque ullamcorper euismod tortor sed iaculis. Sed sit amet justo pulvinar, pharetra ante non, volutpat leo. Nunc iaculis vehicula massa sit amet pulvinar. Aenean semper diam dolor, vel dignissim nibh egestas at. Curabitur ipsum arcu, viverra at porttitor et, tempus non massa. + +Aenean lorem lectus, blandit eget facilisis a, condimentum ac neque. Donec id dignissim eros. Proin quis mattis ligula. Morbi commodo facilisis porta. Curabitur efficitur eu turpis nec feugiat. Duis eget odio molestie nisl ullamcorper ullamcorper. In elit dui, euismod at lectus sed, rutrum ultricies ipsum. Cras semper lacinia nulla. Pellentesque eu orci magna. + +Nullam orci arcu, lacinia non viverra et, pellentesque eget diam. Nam libero turpis, condimentum quis orci quis, faucibus euismod arcu. Suspendisse facilisis commodo augue, blandit commodo felis blandit quis. Morbi consectetur pretium enim, nec finibus urna ultricies a. Phasellus pretium ac lorem id varius. Nullam viverra sem id lorem feugiat, id luctus nisi interdum. Maecenas viverra erat ac justo ultricies sollicitudin. Cras sed vulputate augue. Quisque euismod rutrum pharetra. Curabitur nunc sapien, tristique eu mi vitae, elementum fringilla dolor. Morbi placerat nibh nulla, in pulvinar ex accumsan at. Proin orci augue, venenatis in augue quis, pellentesque commodo tortor. Nunc nulla sem, euismod vel iaculis sed, vestibulum ac erat. Donec lorem ex, lacinia sed porttitor eu, elementum sit amet libero. Aenean ultrices, purus eget hendrerit commodo, enim felis consectetur elit, id auctor urna elit accumsan sem. Proin pretium tincidunt semper. + +Aliquam faucibus est tortor, semper imperdiet risus tristique a. Quisque ac tempor sapien. Aenean quis tincidunt turpis. Cras lectus libero, congue bibendum interdum in, ultricies sed quam. Nulla scelerisque viverra libero sit amet tincidunt. Maecenas bibendum blandit neque, quis dictum metus pulvinar non. Nunc condimentum ultrices blandit. Suspendisse ornare justo dolor, quis ultrices eros tincidunt in. Donec varius tellus quis maximus vestibulum. Vestibulum ac rhoncus ligula. Mauris ut consequat libero, quis malesuada quam. In a venenatis urna. Integer lobortis tempus turpis, sit amet elementum velit auctor ac. + +Quisque efficitur purus ac finibus finibus. Suspendisse imperdiet scelerisque urna, quis vestibulum mauris laoreet fermentum. Duis id nisl sed lectus ultricies ornare. Praesent a lectus lacinia purus lobortis tincidunt. Nullam egestas erat diam, ac bibendum erat condimentum a. Integer et arcu sed tellus varius interdum. Suspendisse interdum, felis in ultrices sollicitudin, mauris lorem efficitur metus, et blandit libero justo vel turpis. Sed ullamcorper aliquam quam, non pellentesque risus. Duis nisl nisl, vulputate vel orci quis, aliquet tempus justo. In blandit sodales diam, non convallis arcu. Nullam gravida mauris sit amet metus feugiat, a auctor dui lacinia. Aenean dignissim tellus a elit laoreet sodales. Pellentesque ultrices lectus purus, in rutrum erat cursus vitae. Nulla ut eleifend lorem. In vulputate condimentum lectus, viverra malesuada odio feugiat non. diff --git a/src/test/resources/sozu/config.toml b/src/test/resources/sozu/config.toml index 9505337..ef11791 100644 --- a/src/test/resources/sozu/config.toml +++ b/src/test/resources/sozu/config.toml @@ -125,4 +125,13 @@ frontends = [ ] backends = [ { address = "172.18.0.5:8004" } +] + +[applications.chunkedresponse] +protocol = "http" +frontends = [ + { address = "0.0.0.0:80", hostname = "chunkedresponse.com" }, +] +backends = [ + { address = "172.18.0.13:8005" } ] \ No newline at end of file