예제 #1
0
 private UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS ComputeLeftToWrite(bool endOfRequest = false)
 {
     UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS flags = UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS.NONE;
     if (!_requestContext.Response.ComputedHeaders)
     {
         flags = _requestContext.Response.ComputeHeaders(endOfRequest, _buffer.TotalBytes);
     }
     if (_leftToWrite == long.MinValue)
     {
         UnsafeNclNativeMethods.HttpApi.HTTP_VERB method = _requestContext.Request.GetKnownMethod();
         if (method == UnsafeNclNativeMethods.HttpApi.HTTP_VERB.HttpVerbHEAD)
         {
             _leftToWrite = 0;
         }
         else if (_requestContext.Response.BoundaryType == BoundaryType.ContentLength)
         {
             _leftToWrite = _requestContext.Response.ExpectedBodyLength;
         }
         else
         {
             _leftToWrite = -1; // unlimited
         }
     }
     return(flags);
 }
예제 #2
0
 internal UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS ComputeLeftToWrite()
 {
     UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS nONE = UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS.NONE;
     if (!this.m_HttpContext.Response.ComputedHeaders)
     {
         nONE = this.m_HttpContext.Response.ComputeHeaders();
     }
     if (this.m_LeftToWrite == -9223372036854775808L)
     {
         UnsafeNclNativeMethods.HttpApi.HTTP_VERB knownMethod = this.m_HttpContext.GetKnownMethod();
         this.m_LeftToWrite = (knownMethod != UnsafeNclNativeMethods.HttpApi.HTTP_VERB.HttpVerbHEAD) ? this.m_HttpContext.Response.ContentLength64 : 0L;
     }
     return(nONE);
 }
예제 #3
0
 internal UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS ComputeLeftToWrite()
 {
     GlobalLog.Print("HttpResponseStream#" + ValidationHelper.HashString(this) + "::ComputeLeftToWrite() on entry m_LeftToWrite:" + m_LeftToWrite);
     UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS flags = UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS.NONE;
     if (!m_HttpContext.Response.ComputedHeaders)
     {
         flags = m_HttpContext.Response.ComputeHeaders();
     }
     if (m_LeftToWrite == long.MinValue)
     {
         UnsafeNclNativeMethods.HttpApi.HTTP_VERB method = m_HttpContext.GetKnownMethod();
         m_LeftToWrite = method != UnsafeNclNativeMethods.HttpApi.HTTP_VERB.HttpVerbHEAD ? m_HttpContext.Response.ContentLength64 : 0;
         GlobalLog.Print("HttpResponseStream#" + ValidationHelper.HashString(this) + "::ComputeLeftToWrite() computed m_LeftToWrite:" + m_LeftToWrite);
     }
     return(flags);
 }