本文整理汇总了C#中EventStore.Transport.Http.EntityManagement.HttpEntityManager.ReplyTextContent方法的典型用法代码示例。如果您正苦于以下问题:C# HttpEntityManager.ReplyTextContent方法的具体用法?C# HttpEntityManager.ReplyTextContent怎么用?C# HttpEntityManager.ReplyTextContent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventStore.Transport.Http.EntityManagement.HttpEntityManager
的用法示例。
在下文中一共展示了HttpEntityManager.ReplyTextContent方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReplyWithContent
private void ReplyWithContent(HttpEntityManager http, string contentLocalPath)
{
//NOTE: this is fix for Mono incompatibility in UriTemplate behavior for /a/b{*C}
if (("/" + contentLocalPath).StartsWith(_localWebRootPath))
contentLocalPath = contentLocalPath.Substring(_localWebRootPath.Length);
//_logger.Trace("{0} requested from MiniWeb", contentLocalPath);
try
{
var extensionToContentType = new Dictionary<string, string>
{
{ ".png", "image/png"} ,
{ ".svg", "image/svg+xml"} ,
{ ".woff", "application/x-font-woff"} ,
{ ".woff2", "application/x-font-woff"} ,
{ ".ttf", "application/font-sfnt"} ,
{ ".jpg", "image/jpeg"} ,
{ ".jpeg", "image/jpeg"} ,
{ ".css", "text/css"} ,
{ ".htm", "text/html"} ,
{ ".html", "text/html"} ,
{ ".js", "application/javascript"} ,
{ ".json", "application/json"} ,
{ ".ico", "image/vnd.microsoft.icon"}
};
var extension = Path.GetExtension(contentLocalPath);
var fullPath = Path.Combine(_fileSystemRoot, contentLocalPath);
string contentType;
if (string.IsNullOrEmpty(extension)
|| !extensionToContentType.TryGetValue(extension.ToLower(), out contentType)
|| !File.Exists(fullPath))
{
_logger.Info("Replying 404 for {0} ==> {1}", contentLocalPath, fullPath);
http.ReplyTextContent(
"Not Found", 404, "Not Found", "text/plain", null,
ex => _logger.InfoException(ex, "Error while replying from MiniWeb"));
}
else
{
var config = GetWebPageConfig(contentType);
var content = File.ReadAllBytes(fullPath);
http.Reply(content,
config.Code,
config.Description,
config.ContentType,
config.Encoding,
config.Headers,
ex => _logger.InfoException(ex, "Error while replying from MiniWeb"));
}
}
catch (Exception ex)
{
http.ReplyTextContent(ex.ToString(), 500, "Internal Server Error", "text/plain", null, Console.WriteLine);
}
}
示例2: OnGetOptions
private void OnGetOptions(HttpEntityManager entity, UriTemplateMatch match)
{
entity.ReplyTextContent(Codec.Json.To(GetOptionsInfo(options)),
HttpStatusCode.OK,
"OK",
entity.ResponseCodec.ContentType,
null,
e => Log.ErrorException(e, "error while writing http response (options)"));
}
示例3: OnGetPing
private void OnGetPing(HttpEntityManager entity, UriTemplateMatch match)
{
var response = new HttpMessage.TextMessage("Ping request successfully handled");
entity.ReplyTextContent(Format.TextMessage(entity, response),
HttpStatusCode.OK,
"OK",
entity.ResponseCodec.ContentType,
null,
e => Log.ErrorException(e, "Error while writing HTTP response (ping)"));
}
示例4: OnListNodeSubsystems
private void OnListNodeSubsystems(HttpEntityManager http, UriTemplateMatch match)
{
http.ReplyTextContent(
Codec.Json.To(_enabledNodeSubsystems),
200,
"OK",
"application/json",
null,
ex => Log.InfoException(ex, "Failed to prepare main menu")
);
}
示例5: OnGetInfo
private void OnGetInfo(HttpEntityManager entity, UriTemplateMatch match)
{
entity.ReplyTextContent(Codec.Json.To(new
{
ESVersion = VersionInfo.Version
}),
HttpStatusCode.OK,
"OK",
entity.ResponseCodec.ContentType,
null,
e => Log.ErrorException(e, "Error while writing http response (info)"));
}