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:
Dave Syer
2015-02-12 18:32:03 +00:00
parent 21e1f488aa
commit be1b5f115e
5 changed files with 66 additions and 2 deletions

View File

@@ -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

View 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);
}
}

View File

@@ -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 {

View 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--

View File

@@ -0,0 +1,3 @@
spring.application.name: ui
multipart.maxFileSize: 128KB
multipart.maxRequestSize: 128KB