@Override @Nullable public String getFilename() { return inputMessage.getHeaders().getContentDisposition().getFilename(); } };
@Override public String getFilename() { return inputMessage.getHeaders().getContentDisposition().getFilename(); } };
/** * Expect a "Content-Disposition" header with the given value. */ public WebTestClient.ResponseSpec contentDisposition(ContentDisposition contentDisposition) { return assertHeader("Content-Disposition", contentDisposition, getHeaders().getContentDisposition()); }
@Override @Nullable public String getFilename() { return inputMessage.getHeaders().getContentDisposition().getFilename(); } };
@Override public String getFilename() { return inputMessage.getHeaders().getContentDisposition().getFilename(); } };
@Test public void contentDisposition() { ContentDisposition disposition = headers.getContentDisposition(); assertNotNull(disposition); assertEquals("Invalid Content-Disposition header", ContentDisposition.empty(), headers.getContentDisposition()); disposition = ContentDisposition.builder("attachment").name("foo").filename("foo.txt").size(123L).build(); headers.setContentDisposition(disposition); assertEquals("Invalid Content-Disposition header", disposition, headers.getContentDisposition()); }
@Test public void multipartUpload() throws Exception { MultiValueMap<String, Object> multipartData = new LinkedMultiValueMap<>(); multipartData.add("file", new byte[] { 1, 2, 3, 4 }); ExchangeResult result = WebTestClient .bindToRouterFunction(RouterFunctions.route(POST("/foo"), (req) -> { req.body(BodyExtractors.toMultipartData()).block(); return null; })).configureClient().baseUrl("http://localhost").build().post() .uri("/foo").body(BodyInserters.fromMultipartData(multipartData)) .exchange().expectBody().returnResult(); OperationRequest request = this.converter.convert(result); assertThat(request.getUri()).isEqualTo(URI.create("http://localhost/foo")); assertThat(request.getMethod()).isEqualTo(HttpMethod.POST); assertThat(request.getParts()).hasSize(1); OperationRequestPart part = request.getParts().iterator().next(); assertThat(part.getName()).isEqualTo("file"); assertThat(part.getSubmittedFileName()).isNull(); assertThat(part.getHeaders()).hasSize(2); assertThat(part.getHeaders().getContentLength()).isEqualTo(4L); assertThat(part.getHeaders().getContentDisposition().getName()).isEqualTo("file"); assertThat(part.getContent()).containsExactly(1, 2, 3, 4); }
assertThat(part.getHeaders()).hasSize(3); assertThat(part.getHeaders().getContentLength()).isEqualTo(4); ContentDisposition contentDisposition = part.getHeaders().getContentDisposition(); assertThat(contentDisposition.getName()).isEqualTo("file"); assertThat(contentDisposition.getFilename()).isEqualTo("image.png");
/** * Expect a "Content-Disposition" header with the given value. */ public WebTestClient.ResponseSpec contentDisposition(ContentDisposition contentDisposition) { return assertHeader("Content-Disposition", contentDisposition, getHeaders().getContentDisposition()); }
@Override @Nullable public String getFilename() { return inputMessage.getHeaders().getContentDisposition().getFilename(); } };
@Override @Nullable public String getFilename() { return inputMessage.getHeaders().getContentDisposition().getFilename(); } };
@Override public String getFilename() { return inputMessage.getHeaders().getContentDisposition().getFilename(); } };
/** * Expect a "Content-Disposition" header with the given value. */ public WebTestClient.ResponseSpec contentDisposition(ContentDisposition contentDisposition) { return assertHeader("Content-Disposition", contentDisposition, getHeaders().getContentDisposition()); }
@Override public String getFilename() { return inputMessage.getHeaders().getContentDisposition().getFilename(); } };