Пример #1
0
        /// <summary>
        /// Processes the request.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <returns></returns>
        private Task ProcessRequestAsync(HttpListenerContext context)
        {
            if (context.Request.HttpMethod.ToUpperInvariant() != "GET")
            {
                return(WriteNotFoundAsync(context));
            }

            var urlPath = context.Request.RawUrl.Substring(_prefixPath.Length)
                          .ToLowerInvariant();

            switch (urlPath)
            {
            case "/ping":
                return(WritePongAsync(context));

            case "/":
            case "/status":
                return(WriteStatusAsync(context));

            default:
                var providers = _queueStatusProviders.ToList();
                var outputs   = providers.Select(provider => provider.HandlePath(urlPath)).Where(output => output != null).ToList();
                if (outputs.Count > 0)
                {
                    return(WriteStringAsync(context, _serializer.ConvertToString(outputs), "application/json"));
                }
                break;
            }
            return(WriteNotFoundAsync(context));
        }
 /// <summary>
 /// Converts an input class to a string
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="data">The data to serialize</param>
 /// <returns></returns>
 public string ConvertToString <T>(T data) where T : class
 {
     using (_messageToStringTimer.NewContext())
     {
         var result = _handler.ConvertToString(data);
         _resultSizeStringHistogram.Update(result.Length, result.Length.ToString(CultureInfo.InvariantCulture));
         return(result);
     }
 }
Пример #3
0
        /// <summary>
        /// Gets the configuration.
        /// </summary>
        /// <returns></returns>
        private SystemEntry GetConfiguration()
        {
            const string name = "Configuration";

            try
            {
                return(new SystemEntry(name, _serializer.ConvertToString(_options.Value)));
            }
            catch (Exception error)
            {
                SetError(error);
                return(new SystemEntry(name, error.ToString()));
            }
        }