protected IResponseContext InitializeResponseContext(IResponseContext responseContext = null, string formId = null, string responseId = null, string parentResponseId = null, string rootResponseId = null, bool isNewRecord = false)
        {
            if (responseContext == null)
            {
                responseContext = new ResponseContext();
            }

            responseContext.FormId = string.IsNullOrEmpty(responseContext.FormId) ? (string.IsNullOrEmpty(formId) ? GetStringSessionValue(UserSession.Key.CurrentFormId) : formId) : responseContext.FormId;
            if (string.IsNullOrEmpty(responseContext.FormId))
            {
                responseContext.FormId = string.IsNullOrEmpty(responseContext.RootFormId) ? GetStringSessionValue(UserSession.Key.RootFormId) : responseContext.RootFormId;
            }

            responseContext.ResponseId = string.IsNullOrEmpty(responseContext.ResponseId) ? responseId : responseContext.ResponseId;

            responseContext.RootResponseId   = string.IsNullOrEmpty(responseContext.RootResponseId) ? (string.IsNullOrEmpty(rootResponseId) ? GetStringSessionValue(UserSession.Key.RootResponseId) : rootResponseId) : responseContext.RootResponseId;
            responseContext.ParentResponseId = string.IsNullOrEmpty(responseContext.ParentResponseId) ? parentResponseId : responseContext.ParentResponseId;
            if (string.IsNullOrEmpty(responseContext.RootResponseId))
            {
                responseContext.RootResponseId = responseContext.ResponseId;
            }

            responseContext.UserName  = GetStringSessionValue(UserSession.Key.UserName);
            responseContext.UserOrgId = GetIntSessionValue(UserSession.Key.CurrentOrgId);
            responseContext.UserId    = GetIntSessionValue(UserSession.Key.UserId);

            if (isNewRecord)
            {
                responseContext.IsNewRecord = true;
            }

            return(responseContext.ResolveMetadataDependencies() as IResponseContext);
        }
        public static FormResponseDetail ToFormResponseDetail(this IResponseContext responseContext, int?pageNumber = null)
        {
            var formResponseDetail = new FormResponseDetail();

            formResponseDetail.IsNewRecord     = true;
            formResponseDetail.RecStatus       = RecordStatus.InProcess;
            formResponseDetail.LastPageVisited = pageNumber.HasValue ? pageNumber.Value : 1;

            formResponseDetail.ResponseId       = responseContext.ResponseId;
            formResponseDetail.FormId           = responseContext.FormId;
            formResponseDetail.FormName         = responseContext.FormName;
            formResponseDetail.ParentResponseId = responseContext.ParentResponseId;
            formResponseDetail.ParentFormId     = responseContext.ParentFormId;
            formResponseDetail.ParentFormName   = responseContext.ParentFormName;
            formResponseDetail.RootResponseId   = responseContext.RootResponseId;
            formResponseDetail.RootFormId       = responseContext.RootFormId;
            formResponseDetail.RootFormName     = responseContext.RootFormName;
            formResponseDetail.IsNewRecord      = responseContext.IsNewRecord;

            formResponseDetail.UserOrgId          = responseContext.UserOrgId;
            formResponseDetail.UserId             = responseContext.UserId;
            formResponseDetail.UserName           = responseContext.UserName;
            formResponseDetail.FirstSaveLogonName = responseContext.UserName;
            formResponseDetail.LastSaveLogonName  = responseContext.UserName;

            var pageResponseDetail = new PageResponseDetail
            {
                PageNumber     = formResponseDetail.LastPageVisited,
                PageId         = _metadataAccessor.GetPageDigestByPageNumber(responseContext.FormId, formResponseDetail.LastPageVisited).PageId,
                HasBeenUpdated = true
            };

            formResponseDetail.AddPageResponseDetail(pageResponseDetail);
            return(formResponseDetail);
        }
        protected override async Task RenderBody(IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            var p = rsp.GetPostParameters();
            string login, text;
            p.TryGetValue("login", out login);
            p.TryGetValue("msgtext", out text);

            _logger.Info($"Adding message: {login}, {text}");

            if (string.IsNullOrEmpty(login))
            {
                rsp.Status = StatusCodes.BadRequest;
                rsp.Write("<p>User login should not be empty</p>");                
            }
            else
            {
                var ui = await _gbProvider.AddMessage(login, text);
                rsp.Status = StatusCodes.Created;
                rsp.Write($"<p>User '{ui.UserLogin}' added message</p>");                
            }
            rsp.Write("<div>");
        }
        private FormResponseResource ReadRootResponseResource(IResponseContext responseContext)
        {
            try
            {
                var rootResponseId         = responseContext.RootResponseId ?? responseContext.ResponseId;
                var rootFormCollectionName = responseContext.RootFormName ?? GetRootFormName(responseContext.RootFormId);
                var rootFormCollectionUri  = GetCollectionUri(rootFormCollectionName);
                // Set some common query options
                FeedOptions queryOptions = new FeedOptions {
                    MaxItemCount = 1
                };

                var query = Client.CreateDocumentQuery(rootFormCollectionUri,
                                                       SELECT
                                                       + AssembleSelect(rootFormCollectionName, "*")
                                                       + FROM + rootFormCollectionName
                                                       + WHERE
                                                       + AssembleExpressions(rootFormCollectionName, Expression("id", EQ, rootResponseId),
                                                                             And_Expression(FRP_RecStatus, NE, RecordStatus.Deleted))
                                                       , queryOptions);

                FormResponseResource formResponseResource = query.AsEnumerable().FirstOrDefault();
                return(formResponseResource);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            return(null);
        }
Esempio n. 5
0
        public override T Unmarshall <T>(IResponseContext context)
        {
            try
            {
                var response = new ListQueuesResponse();
                ResultUnmarshall(context, response);

                var xmlRootNode   = GetXmlElement(context.ContentStream);
                var queueUrlNodes = xmlRootNode.SelectNodes("ListQueuesResult/QueueUrl");
                if (queueUrlNodes != null && queueUrlNodes.Count > 0)
                {
                    response.QueueUrls = new List <string>();
                    for (var i = 0; i < queueUrlNodes.Count; i++)
                    {
                        response.QueueUrls.Add(queueUrlNodes[i].InnerText);
                    }
                }
                response.ResponseMetadata.RequestId = xmlRootNode.SelectSingleNode("ResponseMetadata/RequestId")?.InnerText;

                return(response as T);
            }
            catch (Exception ex)
            {
                throw ErrorUnmarshall(ex.Message, ex, context.StatusCode);
            }
        }
Esempio n. 6
0
        public override void InvokeSync(IExecutionContext executionContext)
        {
            IRequestContext  requestContext  = executionContext.RequestContext;
            IResponseContext responseContext = executionContext.ResponseContext;
            bool             flag            = false;

            do
            {
                try
                {
                    base.InvokeSync(executionContext);
                    RetryPolicy.NotifySuccess(executionContext);
                    return;
                }
                catch (Exception exception)
                {
                    flag = RetryPolicy.Retry(executionContext, exception);
                    if (!flag)
                    {
                        LogForError(requestContext, exception);
                        throw;
                    }
                    requestContext.Retries++;
                    requestContext.Metrics.SetCounter(Metric.AttemptCount, requestContext.Retries);
                    LogForRetry(requestContext, exception);
                }
                PrepareForRetry(requestContext);
                using (requestContext.Metrics.StartEvent(Metric.RetryPauseTime))
                {
                    RetryPolicy.WaitBeforeRetry(executionContext);
                }
            }while (flag);
        }
Esempio n. 7
0
        private static void LogEnd(ILogger logger, string methodName, IResponseContext response)
        {
            var message = new StringBuilder()
                          .AppendFormat("end {0}", methodName);

            if (!response.IsProvided)
            {
                message.Append(" (response was created by server filter)");
            }

            message.Append(": ");

            var comma = false;

            foreach (var entry in response)
            {
                if (comma)
                {
                    message.Append(", ");
                }

                comma = true;
                message.AppendFormat("{0}={1}", entry.Key, entry.Value);
            }

            if (response.IsProvided)
            {
                logger.LogInformation(message.ToString());
            }
            else
            {
                // warn: the service method was not called
                logger.LogWarning(message.ToString());
            }
        }
Esempio n. 8
0
        private string FetchRequestId(IRequestContext requestContext, IResponseContext responseContext)
        {
            string request_id = string.Empty;
            var    response   = responseContext.Response;

            if (response != null)
            {
                request_id = response.ResponseMetadata.RequestId;
            }
            else
            {
                var request_headers = requestContext.Request.Headers;
                if (string.IsNullOrEmpty(request_id) && request_headers.TryGetValue("x-amzn-RequestId", out string req_id))
                {
                    request_id = req_id;
                }

                if (string.IsNullOrEmpty(request_id) && request_headers.TryGetValue("x-amz-request-id", out req_id))
                {
                    request_id = req_id;
                }

                if (string.IsNullOrEmpty(request_id) && request_headers.TryGetValue("x-amz-id-2", out req_id))
                {
                    request_id = req_id;
                }
            }

            return(request_id);
        }
Esempio n. 9
0
        protected override async Task RenderBody(IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            var    p = rsp.GetPostParameters();
            string login, text;

            p.TryGetValue("login", out login);
            p.TryGetValue("msgtext", out text);

            _logger.Info($"Adding message: {login}, {text}");

            if (string.IsNullOrEmpty(login))
            {
                rsp.Status = StatusCodes.BadRequest;
                rsp.Write("<p>User login should not be empty</p>");
            }
            else
            {
                var ui = await _gbProvider.AddMessage(login, text);

                rsp.Status = StatusCodes.Created;
                rsp.Write($"<p>User '{ui.UserLogin}' added message</p>");
            }
            rsp.Write("<div>");
        }
        protected override async Task RenderBody(IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            _logger.Info($"Listing users {rsp.Page}, {rsp.Size}");

            var page = await _gbProvider.GetUsers(rsp.Page, rsp.Size).ConfigureAwait(false);

            if (!page.Items.Any())
            {
                rsp.Write("<p>No users found</p>");
            }
            else
            {
                foreach (var u in page.Items)
                {
                    rsp.Write($"<hr/><div class=\"row\" data-id=\"{HtmlResponse.HtmlEncode(u.UserLogin)}\">");
                    rsp.Write($"<div class=\"col-md-1\"><b>{u.UserLogin}</b></div>");
                    rsp.Write($"<div class=\"col-md-4\">{HtmlResponse.HtmlEncode(u.DisplayName)}</div>");
                    rsp.Write("</div>");
                }
            }
            rsp.Write("<div>");
        }
Esempio n. 11
0
 public void Writing(IResponseContext context)
 {
     if (context.ContentType.Contains("text/html"))
     {
         context.AddRewrite(stream => _htmlRewriter.Rewrite(stream));
     }
 }
Esempio n. 12
0
 private static void DisposeReponse(IResponseContext responseContext)
 {
     if (responseContext.HttpResponse != null && responseContext.HttpResponse.ResponseBody != null)
     {
         responseContext.HttpResponse.ResponseBody.Dispose();
     }
 }
        protected override async Task RenderBody(IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            _logger.Info($"Returning user '{rsp.PathArgs[0]}' messages {rsp.Page}, {rsp.Size}");

            var page = await _gbProvider.GetUserMessages(rsp.PathArgs[0], rsp.Page, rsp.Size).ConfigureAwait(false);

            if (page.Items == null)
            {
                rsp.Write($"<p>User '{HtmlResponse.HtmlEncode(rsp.PathArgs[0])}' not found</p>");
            }
            else if (!page.Items.Any())
            {
                rsp.Write("<p>No messages</p>");
            }
            else
            {
                foreach (var m in page.Items)
                {
                    rsp.Write("<hr/><div class=\"row\">");
                    rsp.Write($"<div class=\"col-md-2\"><b>{m.Created.ToString("G")}</b></div>");
                    rsp.Write("</div>");

                    rsp.Write("<div class=\"row\">");
                    rsp.Write($"<div class=\"col-md-12\">{HtmlResponse.HtmlEncode(m.Text)}</div>");
                    rsp.Write("</div>");
                }
            }
            rsp.Write("<div>");
        }
        public static ResponseContext CloneResponseContext(this IResponseContext responseContext)
        {
            return(new ResponseContext
            {
                ResponseId = responseContext.ResponseId,
                FormId = responseContext.FormId,
                FormName = responseContext.FormName,


                ParentResponseId = responseContext.ParentResponseId,
                ParentFormId = responseContext.ParentFormId,
                ParentFormName = responseContext.ParentFormName,


                RootResponseId = responseContext.RootResponseId,
                RootFormId = responseContext.RootFormId,
                RootFormName = responseContext.RootFormName,

                IsNewRecord = responseContext.IsNewRecord,

                UserOrgId = responseContext.UserOrgId,
                UserId = responseContext.UserId,
                UserName = responseContext.UserName
            }.ResolveMetadataDependencies() as ResponseContext);
        }
        public ResponseGridQueryResultBO GetFormResponseListByFormId(IResponseContext responseContext, SurveyAnswerCriteria criteria)
        {
            criteria.GridPageSize = AppSettings.GetIntValue(criteria.IsMobile ? AppSettings.Key.MobileResponsePageSize : AppSettings.Key.ResponsePageSize);
            ResponseGridQueryResultBO result = _surveyResponseDao.GetFormResponseByFormId(responseContext, criteria);

            return(result);
        }
Esempio n. 16
0
 public void AfterSend(IResponseContext responseContext)
 {
     if (unitOfWork.IsInTransaction)
     {
         unitOfWork.Commit();
     }
 }
Esempio n. 17
0
        public override T Unmarshall <T>(IResponseContext context)
        {
            try
            {
                var response = new DeleteMessageBatchResponse();
                ResultUnmarshall(context, response);

                var xmlRootNode = GetXmlElement(context.ContentStream);

                if (TryGetXmlElements(xmlRootNode, "DeleteMessageBatchResult/BatchResultErrorEntry", out var batchErrorList))
                {
                    BatchResultErrorEntryUnmarshaller(batchErrorList, response.BatchResultErrorEntry);
                }

                if (TryGetXmlElements(xmlRootNode, "DeleteMessageBatchResult/DeleteMessageBatchResultEntry", out var batchResultList))
                {
                    DeleteMessageBatchResultEntryUnmarshaller(batchResultList, response.DeleteMessageBatchResultEntry);
                }

                response.ResponseMetadata.RequestId = xmlRootNode.SelectSingleNode("ResponseMetadata/RequestId")?.InnerText;

                return(response as T);
            }
            catch (Exception ex)
            {
                throw ErrorUnmarshall(ex.Message, ex, context.StatusCode);
            }
        }
        public FormResponseDetail CreateResponseDocument(IResponseContext responseContext, PageDigest[] pageDigests)
        {
            int numberOfPages = pageDigests.Length;

            var firstPageDigest = pageDigests.First();
            var formId          = firstPageDigest.FormId;
            var formName        = firstPageDigest.FormName;

            FormResponseDetail formResponseDetail = responseContext.ToFormResponseDetail();

            formResponseDetail.LastPageVisited = 1;

            foreach (var pageDigest in pageDigests)
            {
                var fieldNames         = pageDigest.FieldNames;
                var pageResponseDetail = new PageResponseDetail
                {
                    PageId     = pageDigest.PageId,
                    PageNumber = pageDigest.PageNumber,

                    ResponseQA = fieldNames.Select(x => new { Key = x.ToLower(), Value = string.Empty }).ToDictionary(n => n.Key, v => v.Value)
                };
                SetRequiredList(pageDigest.Fields);
                formResponseDetail.AddPageResponseDetail(pageResponseDetail);
            }
            return(formResponseDetail);
        }
Esempio n. 19
0
        public FormResponseDetail GetHierarchicalResponsesByResponseId(IResponseContext responseContext, bool includeDeletedRecords = false)
        {
            var hierarchicalDocumentResponseProperties = _formResponseCRUD.GetHierarchicalResponseListByResponseId(responseContext, includeDeletedRecords);
            var hierarchicalFormResponseDetail         = hierarchicalDocumentResponseProperties.ToHierarchicalFormResponseDetail();

            return(hierarchicalFormResponseDetail);
        }
        protected override async Task RenderBody (IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            _logger.Info($"Returning user '{rsp.PathArgs[0]}' messages {rsp.Page}, {rsp.Size}");

            var page = await _gbProvider.GetUserMessages(rsp.PathArgs[0], rsp.Page, rsp.Size).ConfigureAwait(false);

            if (page.Items == null)
                rsp.Write($"<p>User '{HtmlResponse.HtmlEncode(rsp.PathArgs[0])}' not found</p>");
            else if (!page.Items.Any())
                rsp.Write("<p>No messages</p>");
            else
            {
                foreach (var m in page.Items)
                {
                    rsp.Write("<hr/><div class=\"row\">");
                    rsp.Write($"<div class=\"col-md-2\"><b>{m.Created.ToString("G")}</b></div>");
                    rsp.Write("</div>");

                    rsp.Write("<div class=\"row\">");
                    rsp.Write($"<div class=\"col-md-12\">{HtmlResponse.HtmlEncode(m.Text)}</div>");
                    rsp.Write("</div>");
                }
            }
            rsp.Write("<div>");
        }
Esempio n. 21
0
        public SurveyAnswerResponse DeleteResponse(IResponseContext responseContext)
        {
            bool deleteStatus = UpdateResponseStatus(responseContext, RecordStatus.Deleted, RecordStatusChangeReason.DeleteResponse);
            SurveyAnswerResponse surveyAnsResponse = new SurveyAnswerResponse();

            return(surveyAnsResponse);
        }
Esempio n. 22
0
        protected AbstractController(IRequestContext requestContext = null, IResponseContext responseContext = null)
        {
            _GlobalApp = GlobalApp.Instance;

            this.requestContext  = requestContext ?? new WebRequestContext();
            this.responseContext = responseContext ?? new WebResponseContext();
        }
Esempio n. 23
0
        /// <summary>
        /// Демаршалинг ошибки
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public static YandexMqServiceException ErrorUnmarshall(IResponseContext context)
        {
            try
            {
                var rootNode      = GetXmlElement(context.ContentStream);
                var errorNode     = rootNode.SelectSingleNode("Error");
                var requestIdNode = rootNode.SelectSingleNode("RequestId");

                var errorType    = errorNode.SelectSingleNode("Type")?.InnerText ?? string.Empty;
                var errorCode    = errorNode.SelectSingleNode("Code")?.InnerText ?? string.Empty;
                var errorMessage = errorNode.SelectSingleNode("Message")?.InnerText ?? string.Empty;
                var requestId    = requestIdNode.InnerText;

                return(new YandexMqServiceException(errorMessage, errorType, errorCode, requestId, context.StatusCode));
            }
            catch (Exception ex)
            {
                var message = new StreamReader(context.ContentStream).ReadToEnd();
                YandexMqServiceException exception = new YandexMqServiceException(message, ex)
                {
                    StatusCode = context.StatusCode
                };
                return(exception);
            }
        }
Esempio n. 24
0
        protected override async Task RenderBody(IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            var    p = rsp.GetPostParameters();
            string login, dispName;

            p.TryGetValue("login", out login);
            p.TryGetValue("displayname", out dispName);

            _logger.Info($"Adding user: {login}, {dispName}");

            if (string.IsNullOrEmpty(login))
            {
                rsp.Status = StatusCodes.BadRequest;
                rsp.Write("<p>User login should not be empty</p>");
            }
            else
            {
                var ui = await _gbProvider.AddUser(login, dispName);

                rsp.Status = StatusCodes.Created;
                rsp.AddLink(Path + "/" + WebUtility.UrlDecode(login));
                rsp.Write($"<p>User '{ui.UserLogin}' created</p>");
            }
            rsp.Write("<div>");
        }
        private bool HandleSuppressed404(IExecutionContext executionContext, IWebResponseData httpErrorResponse)
        {
            IRequestContext  requestContext  = executionContext.RequestContext;
            IResponseContext responseContext = executionContext.ResponseContext;

            if (httpErrorResponse != null && httpErrorResponse.StatusCode == HttpStatusCode.NotFound && requestContext.Request.Suppress404Exceptions)
            {
                using (httpErrorResponse.ResponseBody)
                {
                    ResponseUnmarshaller unmarshaller = requestContext.Unmarshaller;
                    bool readEntireResponse           = requestContext.ClientConfig.LogResponse || AWSConfigs.LoggingConfig.LogResponses != ResponseLoggingOption.Never;
                    UnmarshallerContext input         = unmarshaller.CreateContext(httpErrorResponse, readEntireResponse, httpErrorResponse.ResponseBody.OpenResponse(), requestContext.Metrics);
                    try
                    {
                        responseContext.Response = unmarshaller.Unmarshall(input);
                        responseContext.Response.ContentLength  = httpErrorResponse.ContentLength;
                        responseContext.Response.HttpStatusCode = httpErrorResponse.StatusCode;
                        return(true);
                    }
                    catch (Exception exception)
                    {
                        base.Logger.Debug(exception, "Failed to unmarshall 404 response when it was supressed.");
                    }
                }
            }
            return(false);
        }
Esempio n. 26
0
 /// <summary>
 /// This method accepts a surveyId and responseId and creates the first survey response entry
 /// </summary>
 /// <param name="responseContext"></param>
 /// <param name="isEditMode"></param>
 /// <param name="currentOrgId"></param>
 /// <returns></returns>
 public SurveyAnswerDTO CreateSurveyAnswer(IResponseContext responseContext)
 {
     return(SurveyHelper.CreateSurveyResponse(responseContext,
                                              _surveyAnswerRequest,
                                              _surveyAnswerDTO,
                                              _surveyResponseBuilder,
                                              _dataEntryService));
 }
Esempio n. 27
0
        public FormResponseDetail GetFormResponseByResponseId(IResponseContext responseContext)
        {
            var response           = _formResponseCRUD.GetHierarchicalResponseListByResponseId(responseContext);
            var formResponseDetail = response.ToHierarchicalFormResponseDetail();

            //var formResponseDetail = response[0].ToFormResponseDetail();
            return(formResponseDetail);
        }
        public SurveyResponseBO GetSurveyResponseStateById(IResponseContext responseContext)
        {
            responseContext.ResolveMetadataDependencies();

            SurveyResponseBO result = _surveyResponseDao.GetSurveyResponseState(responseContext);

            return(result);
        }
Esempio n. 29
0
        private async Task RespondWithMentionLinks(SocketMessage message)
        {
            SocketGuild guild          = ((SocketGuildChannel)message.Channel).Guild;
            var         mentionContext = new ResolutionContext(message, guild);

            IResponseContext responseContext = await _mentionPipeline.PrepareResponse(mentionContext);

            await _responder.RespondWithContextAsync(responseContext);
        }
Esempio n. 30
0
 internal Stream Handle(
     string[] args,
     IRequestContext request,
     IResponseContext response,
     Stream inputStream,
     ChunkedMemoryStream outputStream)
 {
     return(Invocation(args, request, response, inputStream, outputStream));
 }
        public List <SurveyResponseBO> GetResponsesHierarchyIdsByRootId(IResponseContext responceContext) // string formId, string parentResponseId)
        {
            List <SurveyResponseBO> SurveyResponseBO = new List <SurveyResponseBO>();

            SurveyResponseBO = _surveyResponseDao.GetResponsesHierarchyIdsByRootId(responceContext);


            return(SurveyResponseBO);
        }
Esempio n. 32
0
        public async Task RespondWithContextAsync(IResponseContext context)
        {
            if (context.Links.Count > 0)
            {
                await context.ResolutionContext.Message.Channel.SendMessageAsync(string.Join('\n', context.Links));
            }

            // In future we may have embeds, etc
        }
		public IList<IJsonObject> MultipleQueries(string count, IResponseContext response)
		{
			int repeat;
			int.TryParse(count, out repeat);
			if (repeat < 1) repeat = 1;
			else if (repeat > 500) repeat = 500;
			var ctx = Context.Value;
			ctx.LoadWorldsSlow(repeat, ctx.Worlds);
			return new ArraySegment<IJsonObject>(ctx.Worlds, 0, repeat);
		}
Esempio n. 34
0
        public void ProcessResult(IRequestContext request, IResponseContext response)
        {
            var fullPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, FilePath);

            if (!File.Exists(fullPath))
            {
                throw new FileNotFoundException(String.Format("The view at {0} could not be found", fullPath));
            }

            response.ContentType = "text/html";
            response.Write(File.ReadAllText(fullPath));
        }
        protected override async Task RenderBody(IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            _logger.Info("Clearing the Guest Book");

            await _gbProvider.Clear().ConfigureAwait(false);
            rsp.Write($"<p>The book cleared</p>");            

            rsp.Write("<div>");
        }
Esempio n. 36
0
        public void ProcessResult(IRequestContext request, IResponseContext response)
        {
            response.ContentType = "application/xml";

            var result = new StringBuilder();

            using (var writer = new StringWriter(result))
            {
                new XmlSerializer(Data.GetType()).Serialize(writer, Data);
            }

            response.Write(result.ToString());
        }
Esempio n. 37
0
        public void ProcessResult(IRequestContext request, IResponseContext response)
        {
            var fullPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, FilePath);

            if (!File.Exists(fullPath))
            {
                throw new FileNotFoundException(String.Format("The file at {0} could not be found", fullPath));
            }

            response.AddHeader("Content-Disposition", String.Format("attachment; filename={0}", Path.GetFileName(fullPath)));
            response.ContentType = getContentType(fullPath);
            response.WriteFile(fullPath);
        }
        protected override async Task RenderBody(IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            _logger.Info($"Deleting user: {rsp.PathArgs[0]}");

            var count = await _gbProvider.RemoveUser(rsp.PathArgs[0]).ConfigureAwait(false);            

            if (count > 0)
                rsp.Write($"<p>User '{HtmlResponse.HtmlEncode(rsp.PathArgs[0])}' deleted</p>");
            else
            {
                rsp.Write($"<p>User '{HtmlResponse.HtmlEncode(rsp.PathArgs[0])}' not found</p>");
                rsp.Status = StatusCodes.BadRequest;
            }

            rsp.Write("<div>");
        }
Esempio n. 39
0
        public void ProcessResult(IRequestContext request, IResponseContext response)
        {
            if (request.RouteValues.Routes.ContainsKey("format"))
            {
                switch (request.RouteValues.Routes["format"].ToString())
                {
                    case "xml":
                    {
                        new XmlResult(Data).ProcessResult(request, response);
                    }
                    break;

                    default:
                    {
                        new JsonResult(Data).ProcessResult(request, response);
                    }
                    break;
                }
            }
            else
            {
                if (!request.Headers.KeyExists("Accept"))
                {
                    new JsonResult(Data).ProcessResult(request, response);
                    return;
                }

                var accept = request.Headers["Accept"].ParseAcceptHeader();

                var jsonPriority = accept.ContainsKey("application/json") ? accept["application/json"] : 1;
                var xmlPriority = accept.ContainsKey("application/xml") ? accept["application/xml"] : 0.9;

                if (xmlPriority > jsonPriority)
                {
                    new XmlResult(Data).ProcessResult(request, response);
                }
                else
                {
                    new JsonResult(Data).ProcessResult(request, response);
                }
            }
        }
        protected override async Task RenderBody(IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            var page = await _gbProvider.GetUsers(1, -1).ConfigureAwait(false);

            _logger.Info("Returning all the Gusrst Book");

            if (!page.Items.Any())
                rsp.Write("<p>No users found</p>");
            else
            {
                foreach (var u in page.Items)
                {
                    rsp.Write($"<hr/><div class=\"row\" data-id=\"{HtmlResponse.HtmlEncode(u.UserLogin)}\">");
                    rsp.Write($"<div class=\"col-md-1\"><b>{u.UserLogin}</b></div>");
                    rsp.Write($"<div class=\"col-md-4\">{HtmlResponse.HtmlEncode(u.DisplayName)}</div>");
                    rsp.Write("</div>");

                    var msgPage = await _gbProvider.GetUserMessages(u.UserLogin, 1, -1).ConfigureAwait(false);

                    foreach (var m in msgPage.Items)
                    {
                        rsp.Write("<div class=\"row\">");
                        rsp.Write("<div class=\"col-md-1\">&nbsp;</div>");
                        rsp.Write($"<div class=\"col-md-2\"><b>{m.Created.ToString("G")}</b></div>");
                        rsp.Write("</div>");

                        rsp.Write("<div class=\"row\">");
                        rsp.Write($"<div class=\"col-md-12\">{HtmlResponse.HtmlEncode(m.Text)}</div>");
                        rsp.Write("</div>");
                    }
                    rsp.Write("<div class=\"clearfix\"></div>");
                }
            }
            rsp.Write("<div>");
        }
        protected override async Task RenderBody (IResponseContext rsp)
        {
            rsp.Write("<div class=\"container body-content\">");
            rsp.Write("<div class=\"clearfix\"></div>");

            _logger.Info($"Listing users {rsp.Page}, {rsp.Size}");

            var page = await _gbProvider.GetUsers(rsp.Page, rsp.Size).ConfigureAwait(false);

            if (!page.Items.Any())            
                rsp.Write("<p>No users found</p>");            
            else
            {
                foreach (var u in page.Items)
                {
                    rsp.Write($"<hr/><div class=\"row\" data-id=\"{HtmlResponse.HtmlEncode(u.UserLogin)}\">");
                    rsp.Write($"<div class=\"col-md-1\"><b>{u.UserLogin}</b></div>");
                    rsp.Write($"<div class=\"col-md-4\">{HtmlResponse.HtmlEncode(u.DisplayName)}</div>");
                    rsp.Write("</div>");
                }
            }
            rsp.Write("<div>");
        }        
Esempio n. 42
0
 internal ControllerContext(IResponseContext context, Controller controller, IResponseWriter writer)
 {
     ResponseWriter = writer;
     ResponseContext = context;
     Controller = controller;
 }
 public void UpdateContext(IResponseContext context)
 {
     //Do nothing
 }
Esempio n. 44
0
 public static Stream Serialize(
     IWireSerialization serialization,
     IRequestContext request,
     IResponseContext response,
     object result,
     ChunkedMemoryStream outputStream)
 {
     outputStream.Reset();
     response.ContentType = serialization.Serialize(result, request.Accept, outputStream);
     response.ContentLength = outputStream.Position;
     outputStream.Position = 0;
     return outputStream;
 }
 public void UpdateContext(IResponseContext context)
 {
     context.AddHeader(CacheControl.LongCachingPolicy);
     context.AddEntityBodyTransformationStrategyFactoryMethod(stream => new CopyEntityBody(stream));
     innerRepresentation.UpdateContext(context);
 }
Esempio n. 46
0
 public void ProcessResult(IRequestContext request, IResponseContext response)
 {
     response.ContentType = "text/html";
     response.Write(Data);
 }
Esempio n. 47
0
 public static Stream Render(IHtmlView html, IResponseContext response, ChunkedMemoryStream stream)
 {
     stream.Reset();
     response.ContentType = "text/html; charset=UTF-8";
     var sw = stream.GetWriter();
     html.Render(sw);
     sw.Flush();
     response.ContentLength = stream.Position;
     stream.Position = 0;
     return stream;
 }
Esempio n. 48
0
 public void ProcessResult(IRequestContext request, IResponseContext response)
 {
     response.ContentType = "text/html";
     response.Write(File.ReadAllText(_filepath));
 }
Esempio n. 49
0
 public ExecutionContext(bool enableMetrics)
 {
     this.RequestContext = new RequestContext(enableMetrics);
     this.ResponseContext = new ResponseContext();
 }
 public void UpdateContext(IResponseContext context)
 {
     context.AddEntityBodyStreamAccessMethod(func);
 }
Esempio n. 51
0
 public ExecutionContext(IRequestContext requestContext, IResponseContext responseContext)
 {
     this.RequestContext = requestContext;
     this.ResponseContext = responseContext;
 }
 public void UpdateContext(IResponseContext context)
 {
     context.AddHeader(ContentType.Atom).AddHeader(chunking).AddHeader(eTag).AddHeader(lastModified);
     context.AddEntityBodyStreamAccessMethod(() => fileInfo.OpenRead());
 }
Esempio n. 53
0
 internal Stream Handle(
     string[] args,
     IRequestContext request,
     IResponseContext response,
     Stream inputStream,
     ChunkedMemoryStream outputStream)
 {
     return Invocation(args, request, response, inputStream, outputStream);
 }
Esempio n. 54
0
 public void ProcessResult(IRequestContext request, IResponseContext response)
 {
     response.ContentType = "application/json";
     response.Write(new JavaScriptSerializer().Serialize(Data));
 }
		public Stream PlainText(IResponseContext response)
		{
			response.ContentType = "text/plain";
			return HelloWorld;
		}
Esempio n. 56
0
 public void ProcessResult(IRequestContext request, IResponseContext response)
 {
 }