本文整理汇总了C#中OwinContext.IsHtmlResponse方法的典型用法代码示例。如果您正苦于以下问题:C# OwinContext.IsHtmlResponse方法的具体用法?C# OwinContext.IsHtmlResponse怎么用?C# OwinContext.IsHtmlResponse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OwinContext
的用法示例。
在下文中一共展示了OwinContext.IsHtmlResponse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Invoke
public virtual async Task Invoke(IDictionary<string, object> environment)
{
Debug.WriteLine("HtmlAppender IN");
var ctx = new OwinContext(environment);
var realStream = ctx.Response.Body;
var bufferStream = new MemoryStream();
ctx.Response.Body = bufferStream;
await _next(environment);
ctx.Response.Body = realStream;
bufferStream.Seek(0,SeekOrigin.Begin);
if (!ctx.IsHtmlResponse())
{
await bufferStream.CopyToAsync(ctx.Response.Body);
return;
}
var sr = new StreamReader(bufferStream);
string str;
while ((str = sr.ReadLine()) != null)
{
if (_options.AppendToHead && str.Contains("<head>"))
{
str = str.Replace(
"<head>",
"<head>" +_options.Head
);
}
if (_options.AppendToBody && str.Contains("</body>"))
{
str = str.Replace(
"</body>",
_options.Body + "</body>");
}
await ctx.Response.WriteAsync(str);
}
Debug.WriteLine("HtmlAppender OUT");
}