Exemple #1
0
        private static void CompleteRequest(IISHttpContext context, Task <bool> completedTask)
        {
            // Post completion after completing the request to resume the state machine
            context.PostCompletion(ConvertRequestCompletionResults(completedTask.Result));

            // Dispose the context
            context.Dispose();
        }
        public Task InitializeAsync(AuthenticationScheme scheme, HttpContext context)
        {
            _iisHttpContext = context.Features.Get <IISHttpContext>();
            if (_iisHttpContext == null)
            {
                throw new InvalidOperationException("No IISHttpContext found.");
            }

            Scheme   = scheme;
            _context = context;

            return(Task.CompletedTask);
        }
Exemple #3
0
        private static void CompleteRequest(IISHttpContext context, bool result)
        {
            // Post completion after completing the request to resume the state machine
            context.PostCompletion(ConvertRequestCompletionResults(result));

            if (Interlocked.Decrement(ref context.Server._outstandingRequests) == 0 && context.Server.Stopping)
            {
                // All requests have been drained.
                NativeMethods.HttpStopCallsIntoManaged();
                context.Server._shutdownSignal.TrySetResult(null);
            }

            // Dispose the context
            context.Dispose();
        }
Exemple #4
0
 public IISHttpRequestBody(IISHttpContext httpContext)
 {
     _httpContext = httpContext;
 }
Exemple #5
0
        private static async Task HandleRequest(IISHttpContext context)
        {
            var result = await context.ProcessRequestAsync();

            CompleteRequest(context, result);
        }
Exemple #6
0
 public IISHttpResponseBody(IISHttpContext httpContext)
 {
     _httpContext = httpContext;
 }