Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ OnStatus()

void System.Net.Http.Http2Connection.Http2Stream.OnStatus ( int statusCode)
inlineprivate

Definition at line 808 of file Http2Connection.cs.

809 {
810 if (System.Net.NetEventSource.Log.IsEnabled())
811 {
812 Trace($"Status code is {statusCode}", "OnStatus");
813 }
816 {
817 if (_responseProtocolState == ResponseProtocolState.Aborted)
818 {
819 return;
820 }
821 if (_responseProtocolState == ResponseProtocolState.ExpectingHeaders)
822 {
823 if (System.Net.NetEventSource.Log.IsEnabled())
824 {
825 Trace("Received extra status header.", "OnStatus");
826 }
827 throw new HttpRequestException(System.SR.net_http_invalid_response_multiple_status_codes);
828 }
829 if (_responseProtocolState != 0)
830 {
831 if (System.Net.NetEventSource.Log.IsEnabled())
832 {
833 Trace($"Status pseudo-header received in {_responseProtocolState} state.", "OnStatus");
834 }
835 throw new HttpRequestException(System.SR.net_http_invalid_response_pseudo_header_in_trailer);
836 }
837 _response.StatusCode = (HttpStatusCode)statusCode;
838 if (statusCode < 200)
839 {
840 _responseProtocolState = ResponseProtocolState.ExpectingIgnoredHeaders;
841 if (_response.StatusCode == HttpStatusCode.Continue && _expect100ContinueWaiter != null)
842 {
843 if (System.Net.NetEventSource.Log.IsEnabled())
844 {
845 Trace("Received 100-Continue status.", "OnStatus");
846 }
848 }
849 return;
850 }
851 _responseProtocolState = ResponseProtocolState.ExpectingHeaders;
852 if (_expect100ContinueWaiter != null)
853 {
854 bool result = statusCode < 300;
855 if (System.Net.NetEventSource.Log.IsEnabled())
856 {
857 Trace($"Expecting 100 Continue but received final status {statusCode}.", "OnStatus");
858 }
860 }
861 }
862 }
void Trace(string message, [CallerMemberName] string memberName=null)
readonly TaskCompletionSource< bool > _expect100ContinueWaiter
static readonly System.Net.NetEventSource Log
static string net_http_invalid_response_multiple_status_codes
Definition SR.cs:112
static string net_http_invalid_response_pseudo_header_in_trailer
Definition SR.cs:122
Definition SR.cs:7

References System.Net.Http.Http2Connection.Http2Stream._expect100ContinueWaiter, System.Net.Http.Http2Connection.Http2Stream._response, System.Net.Http.Http2Connection.Http2Stream._responseProtocolState, System.Net.Http.Http2Connection.Http2Stream.AdjustHeaderBudget(), System.Net.NetEventSource.Log, System.SR.net_http_invalid_response_multiple_status_codes, System.SR.net_http_invalid_response_pseudo_header_in_trailer, System.Net.Http.HttpResponseMessage.StatusCode, System.Net.Http.Http2Connection.Http2Stream.SyncObject, System.Net.Http.Http2Connection.Http2Stream.Trace(), and System.Threading.Tasks.TaskCompletionSource< TResult >.TrySetResult().

Referenced by System.Net.Http.Http2Connection.Http2Stream.OnHeader(), System.Net.Http.Http2Connection.Http2Stream.OnStaticIndexedHeader(), and System.Net.Http.Http2Connection.Http2Stream.OnStaticIndexedHeader().