/// <summary> /// Allows callers to add a service via HTTP requests by providing a /// specially formatted service description. /// </summary> public static async Task AddService(HttpContext context, Func <Task> next) { RequiresArgument.NotNull(context, "context"); RequiresArgument.NotNull(next, "next"); if (!context.Request.Matches("POST", "/__vs/services")) { await next.Invoke(); return; } var serviceDesc = await ParseServiceDescription(context.Request); RequestRequires.NotNullOrWhiteSpace(serviceDesc.Method, "An HTTP method, i.e. GET, POST, PUT, DELETE, etc., must be provided"); RequestRequires.NotNullOrWhiteSpace(serviceDesc.Path, "A path must be provided. For example /api/myResources/53"); var service = new Service(serviceDesc); if (services.TryAdd(service)) { await context.Response.Ok(service.Id.ToString()); } else { throw new BadRequestException("Unable to add service. A service with the same ID or the same request filter already exists."); } }
public void RequestRequires_NotNullOrWhiteSpace_DoesNothingOnNonNullValue() { // Act RequestRequires.NotNullOrWhiteSpace("lorem ipsum", "Value cannot be null."); }
public void RequestRequires_NotNullOrWhiteSpace_ThrowsOnNullOrWhiteSpaceValue() { // Act RequestRequires.NotNullOrWhiteSpace(" \t ", "Value cannot be null or white space."); }