Be able to create and modify `HttpInfo` for testing
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.3k
- Forks
- 1.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 14
Description
I've run into the case several times when unit testing where I need to return a Response whose extensions contain an HttpInfo. However, since the fields on HttpInfo are private, I am unable to create one.
I would like to see a way to create a new HttpInfo, either by making the fields public, adding setters, or by adding a constructor. Since there are already getter methods, I think it may make most sense to:
- Add a constructor to create a new
HttpInfo. - Add setters for the remote and local addresses.
Note that it is already possible to get a mutable reference to HttpInfo via:
let mut response = Response::new(Body::empty());
let http_info = response.extensions_mut().get_mut::<HttpInfo>().unwrap();
but without setters, there is nothing you can do with it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the HttpInfo definition and its existing getter methods, then inspect how it is stored in Response extensions. Add the requested construction and mutation API so tests can create and modify HttpInfo values, and verify that the existing Response extension access pattern supports those values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, testing
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100