61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System.IO;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace FormatterWebSite
|
|
{
|
|
public class StreamController : Controller
|
|
{
|
|
[HttpGet]
|
|
public Stream SimpleMemoryStream()
|
|
{
|
|
return CreateDefaultStream();
|
|
}
|
|
|
|
[HttpGet]
|
|
public Stream MemoryStreamWithContentType()
|
|
{
|
|
Response.ContentType = "text/html";
|
|
return CreateDefaultStream();
|
|
}
|
|
|
|
[HttpGet]
|
|
[Produces("text/plain")]
|
|
public Stream MemoryStreamWithContentTypeFromProduces()
|
|
{
|
|
return CreateDefaultStream();
|
|
}
|
|
|
|
[HttpGet]
|
|
[Produces("text/html", "text/plain")]
|
|
public Stream MemoryStreamWithContentTypeFromProducesWithMultipleValues()
|
|
{
|
|
return CreateDefaultStream();
|
|
}
|
|
|
|
[HttpGet]
|
|
[Produces("text/plain")]
|
|
public Stream MemoryStreamOverridesProducesContentTypeWithResponseContentType()
|
|
{
|
|
// Produces will set a ContentType on the implicit ObjectResult and
|
|
// ContentType on response are overriden by content types from ObjectResult.
|
|
Response.ContentType = "text/html";
|
|
|
|
return CreateDefaultStream();
|
|
}
|
|
|
|
private static Stream CreateDefaultStream()
|
|
{
|
|
var stream = new MemoryStream();
|
|
var writer = new StreamWriter(stream);
|
|
writer.Write("Sample text from a stream");
|
|
writer.Flush();
|
|
stream.Seek(0, SeekOrigin.Begin);
|
|
|
|
return stream;
|
|
}
|
|
}
|
|
}
|