aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Formatters
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-10-31 00:56:46 +0800
committer杨宇千 <crupest@outlook.com>2019-10-31 00:56:46 +0800
commit2198ad257a2c049f3601a6f95b8906c5be8b27d5 (patch)
tree7d034bb824b50d892136c6f1225a15e8baa30741 /Timeline/Formatters
parentfbaa8cab95a91b887bbd2d108d27c5abb38e4e29 (diff)
downloadtimeline-2198ad257a2c049f3601a6f95b8906c5be8b27d5.tar.gz
timeline-2198ad257a2c049f3601a6f95b8906c5be8b27d5.tar.bz2
timeline-2198ad257a2c049f3601a6f95b8906c5be8b27d5.zip
Continue to construct feature and tests.
Diffstat (limited to 'Timeline/Formatters')
-rw-r--r--Timeline/Formatters/StringInputFormatter.cs27
1 files changed, 27 insertions, 0 deletions
diff --git a/Timeline/Formatters/StringInputFormatter.cs b/Timeline/Formatters/StringInputFormatter.cs
new file mode 100644
index 00000000..90847e36
--- /dev/null
+++ b/Timeline/Formatters/StringInputFormatter.cs
@@ -0,0 +1,27 @@
+using Microsoft.AspNetCore.Mvc.Formatters;
+using Microsoft.Net.Http.Headers;
+using System.IO;
+using System.Net.Mime;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Timeline.Formatters
+{
+ public class StringInputFormatter : TextInputFormatter
+ {
+ public StringInputFormatter()
+ {
+ SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse(MediaTypeNames.Text.Plain));
+ SupportedEncodings.Add(Encoding.UTF8);
+ }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods")]
+ public override async Task<InputFormatterResult> ReadRequestBodyAsync(InputFormatterContext context, Encoding effectiveEncoding)
+ {
+ var request = context.HttpContext.Request;
+ using var reader = new StreamReader(request.Body, effectiveEncoding);
+ var stringContent = await reader.ReadToEndAsync();
+ return await InputFormatterResult.SuccessAsync(stringContent);
+ }
+ }
+}