internal CouchContinuousChanges(DreamMessage aMessage, CouchChangeDelegate aCallback)
        {
            if (aMessage == null)
                throw new ArgumentNullException("aMessage");
            if (aCallback == null)
                throw new ArgumentNullException("aCallback");

            theReader = new AsyncStreamReader(aMessage.ToStream(), (x, y) => {
                if (!String.IsNullOrEmpty(y.Line))
                {
                    CouchChangeResult result = theSerializer.Deserialize(y.Line);
                    aCallback(this, result);
                }
            });
        }
Example #2
0
 private static object GetRequestAsStream(DreamContext context, DreamMessage request, Result <DreamMessage> response)
 {
     return(request.ToStream());
 }
Example #3
0
 private static object GetRequestAsStream(DreamContext context, DreamMessage request, Result<DreamMessage> response)
 {
     return request.ToStream();
 }
Example #4
0
		public Yield AddAttachment(DreamContext aContext, DreamMessage aRequest, Result<DreamMessage> aResponse)
		{
			Stream file = aRequest.ToStream();
			Result<bool> result;
			yield return result = Context.Current.Instance.ScoreController.AddAttachment(aContext.GetParam("id"), file,aRequest.ContentLength, aContext.GetParam("filename"), new Result<bool>());
			aResponse.Return(DreamMessage.Ok());
		}
Example #5
0
		public Yield CreateSourcePage(DreamContext context, DreamMessage request, Result<DreamMessage> response)
		{
			if (request.ContentType.Match(MimeType.JSON))
			{
				ISourcePage page = Context.Current.Instance.SourcePageController.FromJson(request.ToText());
				Result<ISourcePage> result = new Result<ISourcePage>();
				yield return Context.Current.Instance.SourcePageController.Insert(page, result);
				response.Return(DreamMessage.Ok(MimeType.JSON, Context.Current.Instance.SourcePageController.ToJson(result.Value)));
			}
			else // Bulk import based on ZIP file
			{
				Stream file = request.ToStream();
				Result<bool> result = new Result<bool>();
				yield return Context.Current.Instance.SourcePageController.BulkImportSourcePages(context.GetParam("sourceId"), file, result);

				if (result.Value)
					response.Return(DreamMessage.Ok());
				else
					response.Return(DreamMessage.BadRequest("Bad name format"));

			}
		}
Example #6
0
		public Yield AddFascimile(DreamContext context, DreamMessage request, Result<DreamMessage> response)
		{
			Stream file = request.ToStream();
			Result<bool> result;
			yield return result = Context.Current.Instance.SourcePageController.AddFascimile(context.GetParam("sourcePageId"), file, request.ContentLength, new Result<bool>());
			response.Return(DreamMessage.Ok());
		}
Example #7
0
        private void SetRequestResult(DreamMessage result, XUri uri)
        {
            String tempfilename = String.Empty;

            _cookies.Update(result.Cookies, uri);

            txtHeaders.Clear();
            foreach (KeyValuePair<string, string> header in result.Headers) {
                txtHeaders.Text += header.Key + " = " + header.Value + Environment.NewLine;
            }

            foreach (DreamCookie c in result.Cookies) {
                txtHeaders.Text += string.Format("Cookie: '{0}' Value: '{1}' Path: '{2}', Expires: '{3}' Domain: '{4}' {5}", c.Name, c.Value, c.Path, c.Expires, c.Domain, Environment.NewLine);
            }

            // if we received a file, save it
            if (!String.IsNullOrEmpty(result.Headers[DreamHeaders.CONTENT_DISPOSITION])) {
                String filename;
                String[] contentInfoList = result.Headers[DreamHeaders.CONTENT_DISPOSITION].Split(';');
                foreach (String contentInfo in contentInfoList) {
                    String trimmedContentInfo = contentInfo.Trim();
                    if (StringUtil.StartsWithInvariantIgnoreCase(trimmedContentInfo, "filename=")) {
                        filename = trimmedContentInfo.Substring(9);
                        filename = filename.Trim('"', '\\');
                        tempfilename = Path.Combine(Path.GetTempPath(), filename);
                        result.ToStream().CopyToFile(tempfilename, result.ContentLength);
                    }
                }
            } else {
                tempfilename = Path.Combine(Path.GetTempPath(), DateTime.Now.Ticks.ToString()) + ".xml";
                RegistryKey key = Registry.ClassesRoot.OpenSubKey("MIME\\Database\\Content Type\\" + result.ContentType.FullType);
                if (null != key) {
                    tempfilename = tempfilename + key.GetValue("Extension");
                    key.Close();
                }
                File.WriteAllBytes(tempfilename, result.ToBytes());
            }

            // browse to the saved temporary file
            if (!String.IsNullOrEmpty(tempfilename))
            {
                webBrowser.Url = new Uri(tempfilename);
            }
            else{
                webBrowser.Url = null;
            }

            tabControl1.SelectedTab = resultsTabPage;
        }