public void Submit(SubmissionManifest parameters) { WebRequest req = WebRequest.Create(parameters.ResolvedTransport); if (req is HttpWebRequest) { HttpWebRequest request = (HttpWebRequest)req; MultipartBuilder multipart = new MultipartBuilder(request); ITarget assignment = parameters.Assignment; foreach (string key in assignment.TransportParameters.Keys) { string value = assignment.TransportParameters[key]; string resolvedValue = parameters.ResolveParameter(value); if (key.StartsWith("$file.")) { string trueKey = key.Substring("$file.".Length); Stream stream = multipart.BeginWriteFile(trueKey, resolvedValue, "application/octet-stream"); parameters.PackageContentsIntoStream(stream); multipart.EndWriteFile(); } else { multipart.WriteParameter(key, resolvedValue); } } multipart.Close(); WebResponse response = request.GetResponse(); Stream respStream = response.GetResponseStream(); StringBuilder responseHolder = new StringBuilder(); StreamReader reader = new StreamReader(respStream, Encoding.UTF8); char[] buffer = new char[BufferSize]; int len; while ((len = reader.Read(buffer, 0, BufferSize)) > 0) { responseHolder.Append(buffer, 0, len); } response.Close(); this.response = responseHolder.ToString(); } }
public void Submit(SubmissionManifest parameters) { WebRequest req = WebRequest.Create(parameters.ResolvedTransport); if (req is HttpWebRequest) { HttpWebRequest request = (HttpWebRequest)req; MultipartBuilder multipart = new MultipartBuilder(request); ITarget assignment = parameters.Assignment; foreach (string key in assignment.TransportParameters.Keys) { string value = assignment.TransportParameters[key]; string resolvedValue = parameters.ResolveParameter(value); if (key.StartsWith("$file.")) { string trueKey = key.Substring("$file.".Length); Stream stream = multipart.BeginWriteFile(trueKey, resolvedValue, "application/octet-stream"); parameters.PackageContentsIntoStream(stream); multipart.EndWriteFile(); } else { multipart.WriteParameter(key, resolvedValue); } } multipart.Close(); WebResponse response = request.GetResponse(); Stream respStream = response.GetResponseStream(); StringBuilder responseHolder = new StringBuilder(); StreamReader reader = new StreamReader(respStream, Encoding.UTF8); char[] buffer = new char[BufferSize]; int len; while ((len = reader.Read(buffer, 0, BufferSize)) > 0) { responseHolder.Append(buffer, 0, len); } response.Close(); this.response = responseHolder.ToString(); } }
// ------------------------------------------------------------------- public void Submit(SubmissionManifest manifest) { WebRequest req = WebRequest.Create(manifest.ResolvedTransport); if (req is FileWebRequest) { FileWebRequest request = (FileWebRequest)req; request.Method = WebRequestMethods.File.UploadFile; Stream stream = request.GetRequestStream(); manifest.PackageContentsIntoStream(stream); stream.Close(); } }
public void Submit(SubmissionManifest manifest) { WebRequest req = WebRequest.Create(manifest.ResolvedTransport); if (req is FtpWebRequest) { FtpWebRequest request = (FtpWebRequest)req; request.Method = WebRequestMethods.Ftp.UploadFile; request.UseBinary = true; Stream stream = request.GetRequestStream(); manifest.PackageContentsIntoStream(stream); stream.Close(); // Send the request by getting the response. request.GetResponse(); } }
public void Submit(SubmissionManifest manifest) { WebRequest req = WebRequest.Create(manifest.ResolvedTransport); if (req is FtpWebRequest) { FtpWebRequest request = (FtpWebRequest)req; request.Method = WebRequestMethods.Ftp.UploadFile; request.UseBinary = true; Stream stream = request.GetRequestStream(); manifest.PackageContentsIntoStream(stream); stream.Close(); // Send the request by getting the response. request.GetResponse(); } }
// ------------------------------------------------------------------- /// <summary> /// Performs the actual submission of the projects. /// </summary> private void DoSubmission() { TargetTreeNode node = (TargetTreeNode)submissionTargetsTree.SelectedNode; SubmissionManifest parameters = new SubmissionManifest(); parameters.Assignment = (ITargetAssignment)node.Target; parameters.Username = usernameField.Text; parameters.Password = passwordField.Text; parameters.SubmittableItems = submittables; Exception exception = null; BackgroundWorkerDialog dialog = new BackgroundWorkerDialog( Messages.SendingSubmission, true, delegate(object sender, DoWorkEventArgs e) { try { engine.SubmitProject(parameters); } catch (Exception ex) { exception = ex; } }); dialog.ShowDialog(this); if (exception == null) { string message = engine.HasResponse ? Messages.ResponseClose : Messages.NoResponseClose; SetSubmissionResults(SubmissionResultCode.Success, message); } else if (exception is RequiredFilesMissingException) { RequiredFilesMissingException e = (RequiredFilesMissingException)exception; StringBuilder builder = new StringBuilder(); builder.Append(Messages.WizardMissingFilesPreamble); foreach (string file in e.MissingFiles) { builder.Append(String.Format( Messages.WizardMissingFilesListItem, file)); } SetSubmissionResults(SubmissionResultCode.Incomplete, builder.ToString()); } else if (exception is ProtocolNotRegisteredException) { ProtocolNotRegisteredException e = (ProtocolNotRegisteredException)exception; SetSubmissionResults(SubmissionResultCode.Error, String.Format(Messages.ProtocolNotFound, e.Scheme)); } else { SetSubmissionResults(SubmissionResultCode.Error, exception.Message); } }