threadsafety improvements
This commit is contained in:
parent
c91714a6af
commit
f20ba933dc
|
|
@ -7,11 +7,17 @@ public class RequestContext : IDisposable {
|
||||||
public HttpListenerContext ListenerContext { get; }
|
public HttpListenerContext ListenerContext { get; }
|
||||||
public ReadOnlyDictionary<string, string> ParsedParameters { get; internal set; }
|
public ReadOnlyDictionary<string, string> ParsedParameters { get; internal set; }
|
||||||
|
|
||||||
private StreamReader? reqReader;
|
private TextReader? reqReader;
|
||||||
public StreamReader ReqReader => reqReader ??= new(ListenerContext.Request.InputStream);
|
/// <summary>
|
||||||
|
/// THREADSAFE
|
||||||
|
/// </summary>
|
||||||
|
public TextReader ReqReader => reqReader ??= TextReader.Synchronized(new StreamReader(ListenerContext.Request.InputStream));
|
||||||
|
|
||||||
private StreamWriter? respWriter;
|
private TextWriter? respWriter;
|
||||||
public StreamWriter RespWriter => respWriter ??= new(ListenerContext.Response.OutputStream) { NewLine = "\n" };
|
/// <summary>
|
||||||
|
/// THREADSAFE
|
||||||
|
/// </summary>
|
||||||
|
public TextWriter RespWriter => respWriter ??= TextWriter.Synchronized(new StreamWriter(ListenerContext.Response.OutputStream) { NewLine = "\n" });
|
||||||
|
|
||||||
public RequestContext(HttpListenerContext listenerContext) {
|
public RequestContext(HttpListenerContext listenerContext) {
|
||||||
ListenerContext = listenerContext;
|
ListenerContext = listenerContext;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user