public RequestDelegate CreateUnimplementedMethod() { var logger = _loggerFactory.CreateLogger <ServerCallHandlerFactory <TService> >(); return(httpContext => { GrpcProtocolHelpers.AddProtocolHeaders(httpContext.Response); var unimplementedMethod = httpContext.Request.RouteValues["unimplementedMethod"]?.ToString(); Log.MethodUnimplemented(logger, unimplementedMethod); GrpcProtocolHelpers.SetStatusTrailers(httpContext.Response, new Status(StatusCode.Unimplemented, "Method is unimplemented.")); return Task.CompletedTask; }); }
public RequestDelegate CreateUnimplementedService() { var logger = _loggerFactory.CreateLogger <ServerCallHandlerFactory <TService> >(); return(httpContext => { GrpcProtocolHelpers.AddProtocolHeaders(httpContext.Response); var unimplementedService = httpContext.Request.RouteValues["unimplementedService"]?.ToString() ?? "<unknown>"; Log.ServiceUnimplemented(logger, unimplementedService); GrpcProtocolHelpers.SetStatus(GrpcProtocolHelpers.GetTrailersDestination(httpContext.Response), new Status(StatusCode.Unimplemented, "Service is unimplemented.")); return Task.CompletedTask; }); }
public RequestDelegate CreateUnimplementedMethod() { var logger = _loggerFactory.CreateLogger <ServerCallHandlerFactory <TService> >(); return(httpContext => { // CORS preflight request should be handled by CORS middleware. // If it isn't then return 404 from endpoint request delegate. if (GrpcProtocolHelpers.IsCorsPreflightRequest(httpContext)) { httpContext.Response.StatusCode = StatusCodes.Status404NotFound; return Task.CompletedTask; } GrpcProtocolHelpers.AddProtocolHeaders(httpContext.Response); var unimplementedMethod = httpContext.Request.RouteValues["unimplementedMethod"]?.ToString() ?? "<unknown>"; Log.MethodUnimplemented(logger, unimplementedMethod); GrpcEventSource.Log.CallUnimplemented(httpContext.Request.Path.Value); GrpcProtocolHelpers.SetStatus(GrpcProtocolHelpers.GetTrailersDestination(httpContext.Response), new Status(StatusCode.Unimplemented, "Method is unimplemented.")); return Task.CompletedTask; }); }