Add test apps for form encoding
See file.txt for example of how to test manually (or just use the UI at /ui)
This commit is contained in:
@@ -1,2 +1,4 @@
|
||||
spring.application.name: zuulproxy
|
||||
server.port: 9900
|
||||
server.port: 9900
|
||||
zuul.routes.ui.path: /ui/**
|
||||
zuul.routes.ui.url: http://localhost:8080
|
||||
43
zuul-proxy/src/test/java/apps/UiApplication.java
Normal file
43
zuul-proxy/src/test/java/apps/UiApplication.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package apps;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
|
||||
|
||||
@SpringBootApplication
|
||||
@RestController
|
||||
public class UiApplication {
|
||||
|
||||
@RequestMapping("/")
|
||||
public String home() {
|
||||
return "Hello World";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/upload", method = RequestMethod.GET)
|
||||
public String upload() {
|
||||
ServletUriComponentsBuilder builder = ServletUriComponentsBuilder
|
||||
.fromCurrentContextPath();
|
||||
return "<html><body>"
|
||||
+ "<form method='post' enctype='multipart/form-data' action='"
|
||||
+ builder.path("/upload").build().toUriString() + "'>"
|
||||
+ "File to upload: <input type='file' name='file'>"
|
||||
+ "<input type='submit' value='Upload'></form>" + "</body></html>";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/upload", method = RequestMethod.POST)
|
||||
public String accept(@RequestParam MultipartFile file) throws IOException {
|
||||
return new String(file.getBytes());
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
new SpringApplicationBuilder(UiApplication.class).properties(
|
||||
"spring.config.name:ui").run(args);
|
||||
}
|
||||
}
|
||||
@@ -11,8 +11,10 @@ import org.springframework.cloud.client.discovery.noop.NoopDiscoveryClient;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import apps.UiApplication;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@SpringApplicationConfiguration(classes = ZuulProxyApplication.class)
|
||||
@SpringApplicationConfiguration(classes = UiApplication.class)
|
||||
@DirtiesContext
|
||||
public class ZuulProxyApplicationTests {
|
||||
|
||||
|
||||
14
zuul-proxy/src/test/resources/file.txt
Normal file
14
zuul-proxy/src/test/resources/file.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
--FOO
|
||||
Content-Disposition: form-data; name="file"; filename="foo.txt"
|
||||
Content-Type: text/plain
|
||||
|
||||
POST this file to the proxy to test multipart file data:
|
||||
|
||||
$ curl -v -H "Content-Type: multipart/form-data; boundary=FOO" --data-binary @thisfile
|
||||
|
||||
|
||||
--FOO
|
||||
Content-Disposition: form-data; name="name"
|
||||
|
||||
Dave
|
||||
--FOO--
|
||||
3
zuul-proxy/src/test/resources/ui.properties
Normal file
3
zuul-proxy/src/test/resources/ui.properties
Normal file
@@ -0,0 +1,3 @@
|
||||
spring.application.name: ui
|
||||
multipart.maxFileSize: 128KB
|
||||
multipart.maxRequestSize: 128KB
|
||||
Reference in New Issue
Block a user