示例#1
0
        internal static HttpResponse CreateRedirect(HttpStatusCode code, ListenerOperation redirect)
        {
            var response = CreateRedirect(code, redirect.Uri);

            response.redirect = redirect;
            return(response);
        }
示例#2
0
        async Task <Response> RunListener(TestContext ctx, CancellationToken cancellationToken)
        {
            var me = $"{ME} RUN LISTENER";

            ctx.LogDebug(1, me);

            var operation = Server.Listener.RegisterOperation(ctx, this, Handler, null);
            var request   = CreateRequest(ctx, operation.Uri);

            listenerOperation = operation;
            currentRequest    = request;

            if (request is TraditionalRequest traditionalRequest)
            {
                servicePoint = traditionalRequest.RequestExt.ServicePoint;
            }

            ConfigureRequest(ctx, operation.Uri, request);

            requestTask.SetResult(request);

            ctx.LogDebug(2, $"{me} #1: {operation.Uri} {request}");

            var response = await Server.Listener.RunWithContext(
                ctx, operation, request, RunInner, cancellationToken).ConfigureAwait(false);

            ctx.LogDebug(2, $"{me} DONE: {response}");

            await Handler.CheckResponse(ctx, response, cancellationToken, ExpectedStatus, ExpectedError).ConfigureAwait(false);

            return(response);
        }