Skip to content

Commit

Permalink
PR feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesNK committed Mar 10, 2020
1 parent bac6e02 commit dc45e51
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ internal abstract class Http1MessageBody : MessageBody
protected readonly Http1Connection _context;
protected bool _completed;

protected Http1MessageBody(Http1Connection context)
protected Http1MessageBody(Http1Connection context) : base(context)
{
Reset(context);
_context = context;
}

Expand Down
10 changes: 7 additions & 3 deletions src/Servers/Kestrel/Core/src/Internal/Http/MessageBody.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ internal abstract class MessageBody
private static readonly MessageBody _zeroContentLengthClose = new ZeroContentLengthMessageBody(keepAlive: false);
private static readonly MessageBody _zeroContentLengthKeepAlive = new ZeroContentLengthMessageBody(keepAlive: true);

private HttpProtocol _context;
private readonly HttpProtocol _context;

private bool _send100Continue = true;
private long _consumedBytes;
Expand All @@ -26,6 +26,11 @@ internal abstract class MessageBody
protected long _alreadyTimedBytes;
protected long _examinedUnconsumedBytes;

protected MessageBody(HttpProtocol context)
{
_context = context;
}

public static MessageBody ZeroContentLengthClose => _zeroContentLengthClose;

public static MessageBody ZeroContentLengthKeepAlive => _zeroContentLengthKeepAlive;
Expand Down Expand Up @@ -68,9 +73,8 @@ public virtual Task StopAsync()

protected virtual Task OnStopAsync() => Task.CompletedTask;

protected void Reset(HttpProtocol context)
protected void Reset()
{
_context = context;
_send100Continue = true;
_consumedBytes = 0;
_stopped = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
internal sealed class ZeroContentLengthMessageBody : MessageBody
{
public ZeroContentLengthMessageBody(bool keepAlive)
: base(null)
{
Reset(null);
RequestKeepAlive = keepAlive;
}

Expand Down
27 changes: 5 additions & 22 deletions src/Servers/Kestrel/Core/src/Internal/Http2/Http2MessageBody.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
{
internal sealed class Http2MessageBody : MessageBody
{
private Http2Stream _context;
private readonly Http2Stream _context;
private ReadResult _readResult;

public Http2MessageBody(Http2Stream context)
public Http2MessageBody(Http2Stream context) : base(context)
{
Reset(context);
_context = context;
}

protected override void OnReadStarting()
Expand Down Expand Up @@ -45,26 +45,9 @@ protected override void OnDataRead(long bytesRead)
AddAndCheckConsumedBytes(bytesRead);
}

public static MessageBody For(Http2Stream context, Http2MessageBody previousMessageBody)
public new void Reset()
{
if (context.ReceivedEmptyRequestBody)
{
return ZeroContentLengthClose;
}

if (previousMessageBody is Http2MessageBody http2MessageBody)
{
http2MessageBody.Reset(context);
return http2MessageBody;
}

return new Http2MessageBody(context);
}

public void Reset(Http2Stream context)
{
base.Reset(context);
_context = context;
base.Reset();
_readResult = default;
}

Expand Down
2 changes: 1 addition & 1 deletion src/Servers/Kestrel/Core/src/Internal/Http2/Http2Stream.cs
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ protected override MessageBody CreateMessageBody()

if (_messageBody != null)
{
_messageBody.Reset(this);
_messageBody.Reset();
}
else
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@ internal sealed class Http3MessageBody : MessageBody
private readonly Http3Stream _context;
private ReadResult _readResult;

private Http3MessageBody(Http3Stream context)
private Http3MessageBody(Http3Stream context) : base(context)
{
Reset(context);
_context = context;
}
protected override void OnReadStarting()
Expand Down

0 comments on commit dc45e51

Please sign in to comment.