public RosterPage UploadRosterFile(String filePath){ Face().Log("Importing Roster..."); LoginRequest login = new LoginRequest(); login.username = Prefs.EmailLogin; login.password = Prefs.PasswordLogin; login.rememberMe = false; login.forward = ""; login.schoolId = ""; //Set up request data String url = "http://www.foo.bar.com" + "/ManageRoster/UploadRoster"; String javaScript = "return $('#seasons li.selected') .attr('data-season-id');"; String seasonId = (String)((IJavaScriptExecutor)Driver().GetBaseDriver()).ExecuteScript(javaScript); javaScript = "return Foo.Bar.data.selectedTeamId;"; String teamId = (String)((IJavaScriptExecutor)Driver().GetBaseDriver()).ExecuteScript(javaScript); //Send Request and parse the response into the new Driver URL MultipartForm form = new MultipartForm(url); form.SetField("teamId", teamId); form.SetField("seasonId", seasonId); form.SendFile(filePath,LoginRequest.sendLoginRequest(login)); String response = form.ResponseText.ToString(); String newURL = StaticBaseTestObjs.RemoveStringSubString("http://www.foo.bar.com" + response.Split('"')[1].Split('"')[0],"amp;"); Face().Log("Navigating to URL: "+ newURL); Driver().GoTo(new Uri(newURL)); return this; }
@SuppressWarnings("unchecked") public MultipartForm(String boundary, Iterable<? extends Part> content) { super(content); this.boundary = boundary; this.content = content; getContentMetadata().setContentType("multipart/form-data; boundary=" + boundary); String boundaryrn = boundary + rn; boolean isRepeatable = true; long contentLength = 0; for (Part part : content) { if (!part.isRepeatable()) isRepeatable = false; contentLength += part.getContentMetadata().getContentLength() + createHeaders(boundaryrn, part).length() + createRn().length(); } contentLength += createFooter(boundary).length(); getContentMetadata().setContentLength(contentLength); this.isRepeatable = isRepeatable; }
@SuppressWarnings("unchecked") public MultipartForm(String boundary, Iterable<? extends Part> content) { super(content); getContentMetadata().setContentType("multipart/form-data; boundary=" + boundary); getContentMetadata().setContentLength(0l); String boundaryrn = boundary + rn; isRepeatable = true; InputSupplier<? extends InputStream> chain = join(); for (Part part : content) { if (!part.isRepeatable()) isRepeatable = false; getContentMetadata().setContentLength( getContentMetadata().getContentLength() + part.getContentMetadata().getContentLength()); chain = join(chain, addLengthAndReturnHeaders(boundaryrn, part), part, addLengthAndReturnRn()); } chain = join(chain, addLengthAndReturnFooter(boundary)); this.chain = chain; }
@Override public InputStream openStream() throws IOException { String boundaryrn = boundary + rn; ImmutableList.Builder<InputStream> builder = ImmutableList.builder(); for (Part part : content) { builder.add(new ByteArrayInputStream(createHeaders(boundaryrn, part).getBytes())) .add(part.openStream()) .add(new ByteArrayInputStream(createRn().getBytes())); } builder.add(new ByteArrayInputStream(createFooter(boundary).getBytes())); return new SequenceInputStream(Collections.enumeration(builder.build())); }
@Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof Blob, "this binder is only valid for Blobs!"); checkNotNull(request, "request"); Blob blob = Blob.class.cast(input); Part part = Part.create(blob.getMetadata().getName(), blob.getPayload(), new PartOptions().contentType(blob.getMetadata().getContentMetadata().getContentType())); request.setPayload(new MultipartForm(part)); return request; } }
public void testMultipleParts() throws IOException { StringBuilder builder = new StringBuilder(); addData(boundary, "hello", builder); addData(boundary, "goodbye", builder); builder.append("--").append(boundary).append("--").append("\r\n"); String expects = builder.toString(); assertEquals(expects.length(), 352); MultipartForm multipartForm = new MultipartForm(boundary, newPart("hello"), newPart("goodbye")); assertEquals(Strings2.toStringAndClose(multipartForm.openStream()), expects); // test repeatable assert multipartForm.isRepeatable(); assertEquals(Strings2.toStringAndClose(multipartForm.openStream()), expects); assertEquals(multipartForm.getContentMetadata().getContentLength(), Long.valueOf(352)); }
public void testSinglePart() throws IOException { StringBuilder builder = new StringBuilder(); addData(boundary, "hello", builder); builder.append("--").append(boundary).append("--").append("\r\n"); String expects = builder.toString(); assertEquals(expects.length(), 199); MultipartForm multipartForm = new MultipartForm(boundary, newPart("hello")); assertEquals(Strings2.toStringAndClose(multipartForm.openStream()), expects); assertEquals(multipartForm.getContentMetadata().getContentLength(), Long.valueOf(199)); }
public void testMultipleParts() throws IOException { StringBuilder builder = new StringBuilder(); addData(boundary, "hello", builder); addData(boundary, "goodbye", builder); builder.append("--").append(boundary).append("--").append("\r\n"); String expects = builder.toString(); assertEquals(expects.length(), 352); MultipartForm multipartForm = new MultipartForm(boundary, newPart("hello"), newPart("goodbye")); assertEquals(Strings2.toString(multipartForm), expects); // test repeatable assert multipartForm.isRepeatable(); assertEquals(Strings2.toString(multipartForm), expects); assertEquals(multipartForm.getContentMetadata().getContentLength(), Long.valueOf(352)); }
public void testSinglePart() throws IOException { StringBuilder builder = new StringBuilder(); addData(boundary, "hello", builder); builder.append("--").append(boundary).append("--").append("\r\n"); String expects = builder.toString(); assertEquals(expects.length(), 199); MultipartForm multipartForm = new MultipartForm(boundary, newPart("hello")); assertEquals(Strings2.toString(multipartForm), expects); assertEquals(multipartForm.getContentMetadata().getContentLength(), Long.valueOf(199)); }
private InputSupplier<? extends InputStream> addLengthAndReturnHeaders(String boundaryrn, Part part) { StringBuilder builder = new StringBuilder(dd).append(boundaryrn); for (Entry<String, String> entry : part.getHeaders().entries()) { String header = String.format("%s: %s%s", entry.getKey(), entry.getValue(), rn); builder.append(header); } builder.append(rn); getContentMetadata().setContentLength(getContentMetadata().getContentLength() + builder.length()); return newInputStreamSupplier(builder.toString().getBytes()); }
@Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof Blob, "this binder is only valid for Blobs!"); checkNotNull(request, "request"); Blob blob = Blob.class.cast(input); Part part = Part.create(blob.getMetadata().getName(), blob.getPayload(), new PartOptions().contentType(blob.getMetadata().getContentMetadata().getContentType())); request.setPayload(new MultipartForm(part)); return request; } }
private InputSupplier<? extends InputStream> addLengthAndReturnFooter(String boundary) { String end = dd + boundary + dd + rn; getContentMetadata().setContentLength(getContentMetadata().getContentLength() + end.length()); return newInputStreamSupplier(end.getBytes()); }
@Override public InputStream openStream() throws IOException { String boundaryrn = boundary + rn; ImmutableList.Builder<InputStream> builder = ImmutableList.builder(); for (Part part : content) { builder.add(new ByteArrayInputStream(createHeaders(boundaryrn, part).getBytes())) .add(part.openStream()) .add(new ByteArrayInputStream(createRn().getBytes())); } builder.add(new ByteArrayInputStream(createFooter(boundary).getBytes())); return new SequenceInputStream(Collections.enumeration(builder.build())); }
@Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof Blob, "this binder is only valid for Blobs!"); checkNotNull(request, "request"); Blob blob = Blob.class.cast(input); Part part = Part.create(blob.getMetadata().getName(), blob.getPayload(), new PartOptions().contentType(blob.getMetadata().getContentMetadata().getContentType())); request.setPayload(new MultipartForm(part)); return request; } }
@SuppressWarnings("unchecked") public MultipartForm(String boundary, Iterable<? extends Part> content) { super(content); this.boundary = boundary; this.content = content; getContentMetadata().setContentType("multipart/form-data; boundary=" + boundary); String boundaryrn = boundary + rn; boolean isRepeatable = true; long contentLength = 0; for (Part part : content) { if (!part.isRepeatable()) isRepeatable = false; contentLength += part.getContentMetadata().getContentLength() + createHeaders(boundaryrn, part).length() + createRn().length(); } contentLength += createFooter(boundary).length(); getContentMetadata().setContentLength(contentLength); this.isRepeatable = isRepeatable; }
@SuppressWarnings("unchecked") public MultipartForm(String boundary, Iterable<? extends Part> content) { super(content); getContentMetadata().setContentType("multipart/form-data; boundary=" + boundary); getContentMetadata().setContentLength(0l); String boundaryrn = boundary + rn; isRepeatable = true; InputSupplier<? extends InputStream> chain = join(); for (Part part : content) { if (!part.isRepeatable()) isRepeatable = false; getContentMetadata().setContentLength( getContentMetadata().getContentLength() + part.getContentMetadata().getContentLength()); chain = join(chain, addLengthAndReturnHeaders(boundaryrn, part), part, addLengthAndReturnRn()); } chain = join(chain, addLengthAndReturnFooter(boundary)); this.chain = chain; }
public RosterPage UploadRosterFile(String filePath){ Face().Log("Importing Roster..."); LoginRequest login = new LoginRequest(); login.username = Prefs.EmailLogin; login.password = Prefs.PasswordLogin; login.rememberMe = false; login.forward = ""; login.schoolId = ""; //Set up request data String url = "http://www.foo.bar.com" + "/ManageRoster/UploadRoster"; String javaScript = "return $('#seasons li.selected') .attr('data-season-id');"; String seasonId = (String)((IJavaScriptExecutor)Driver().GetBaseDriver()).ExecuteScript(javaScript); javaScript = "return Foo.Bar.data.selectedTeamId;"; String teamId = (String)((IJavaScriptExecutor)Driver().GetBaseDriver()).ExecuteScript(javaScript); //Send Request and parse the response into the new Driver URL MultipartForm form = new MultipartForm(url); form.SetField("teamId", teamId); form.SetField("seasonId", seasonId); form.SendFile(filePath,LoginRequest.sendLoginRequest(login)); String response = form.ResponseText.ToString(); String newURL = StaticBaseTestObjs.RemoveStringSubString("http://www.foo.bar.com" + response.Split('"')[1].Split('"')[0],"amp;"); Face().Log("Navigating to URL: "+ newURL); Driver().GoTo(new Uri(newURL)); return this; }
private InputSupplier<? extends InputStream> addLengthAndReturnHeaders(String boundaryrn, Part part) { StringBuilder builder = new StringBuilder(dd).append(boundaryrn); for (Entry<String, String> entry : part.getHeaders().entries()) { String header = String.format("%s: %s%s", entry.getKey(), entry.getValue(), rn); builder.append(header); } builder.append(rn); getContentMetadata().setContentLength(getContentMetadata().getContentLength() + builder.length()); return newInputStreamSupplier(builder.toString().getBytes()); }
@Override public InputStream openStream() throws IOException { String boundaryrn = boundary + rn; ImmutableList.Builder<InputStream> builder = ImmutableList.builder(); for (Part part : content) { builder.add(new ByteArrayInputStream(createHeaders(boundaryrn, part).getBytes())) .add(part.openStream()) .add(new ByteArrayInputStream(createRn().getBytes())); } builder.add(new ByteArrayInputStream(createFooter(boundary).getBytes())); return new SequenceInputStream(Collections.enumeration(builder.build())); }
@Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof Blob, "this binder is only valid for Blobs!"); checkNotNull(request, "request"); Blob blob = Blob.class.cast(input); Part part = Part.create(blob.getMetadata().getName(), blob.getPayload(), new PartOptions().contentType(blob.getMetadata().getContentMetadata().getContentType())); request.setPayload(new MultipartForm(part)); return request; } }