Skip to content

Be able to create and modify HttpInfo for testing #3062

@Will-Low

Description

@Will-Low

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:

  1. Add a constructor to create a new HttpInfo.
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-featureCategory: feature. This is adding a new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions