`Accept::negotiate` does not handle wildcards correctly
- Dominant language
- Rust
- Stars
- 209
- Forks
- 91
- PR merge metrics
- No merged PRs in 30d
Description
It correctly handles `*` but not `*/*` and `basetype/*`. For example, the spec indicates that `*/*` should accept any media type, but the following snippet fails with `No suitable Content-Type found`
```rust
let mut req = Request::new(Method::Get, "http://localhost");
req.append_header("Accept", "*/*");
let mut accept = Accept::from_headers(&req).unwrap().unwrap();
accept.negotiate(&[mime::JSON]).unwrap();
```
Likewise, this also fails:
```rust
let mut req = Request::new(Method::Get, "http://localhost");
req.append_header("Accept", "application/*");
let mut accept = Accept::from_headers(&req).unwrap().unwrap();
accept.negotiate(&[mime::JSON]).unwrap();
```
Contributor guide
Assessment
This issue has not been assessed yet.