`RouteHandlerBuilder.Accepts` does not return 415 response when the request has no `Content-Type`
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 276
Description
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Describe the bug
This is probably a duplicate of #43794 but I would like to get further information on this issue, namely:
1. If empty string is not in the list of content types to accept, why should empty string not be handled as 415?
2. Given the current behavior of `Accepts`, is an explicit check for the existence of the `Content-Type` header required?
Code:
```cs
app.MapPut("/file", Created (HttpRequest request) =>
{
return TypedResults.Created("https://example.org");
})
.WithOpenApi()
.Accepts("application/zip")
.Produces(StatusCodes.Status415UnsupportedMediaType);
```
### Expected Behavior
`415 Unsupported Media Type` is returned.
### Actual Behavior
`201 Created` is returned.
### Steps To Reproduce
After `dotnet run`, make a PUT request with no header
### Exceptions (if any)
_No response_
### .NET Version
7.0.100
### Anything else?
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.