Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to get matched mapping by HttpRequest or HttpRequestMessage #772

Closed
marspox opened this issue Jul 12, 2022 · 10 comments
Closed

How to get matched mapping by HttpRequest or HttpRequestMessage #772

marspox opened this issue Jul 12, 2022 · 10 comments
Assignees
Labels

Comments

@marspox
Copy link

marspox commented Jul 12, 2022

Hello,
I would like to know wheather is it possible to get mapping by HttpRequest or HttpRequestMessage.
Let's say that I have HttpRequest/HttpRequestMessage object then based on its values I would like to find out which mapping will be matched for that request.

@StefH StefH self-assigned this Jul 12, 2022
@StefH
Copy link
Collaborator

StefH commented Jul 12, 2022

@marspox
It's not possible yet to analyze a HttpRequest or HttpRequestMessage to see which mapping will be matched.

The only way now it is to send the HttpRequest or HttpRequestMessage to WireMock.Net and see if the response is valid and you can verify the matched mappings.

@marspox
Copy link
Author

marspox commented Jul 12, 2022

I see, but after sending HttpRequest I still don't know which mapping has been applied to get response.
I'm writing a tool which uses WireMock.Net with proxy recording. After sending a request, mapping is automatically created if missing, I would like to get mapping or its guid in order to cache new mappings.
It would be great to have such metod in public partial class WireMockServer : IWireMockServer with reusing inside public (MappingMatcherResult Match, MappingMatcherResult Partial) FindBestMatch(RequestMessage request)

@MychellSantos
Copy link

I have the same difficulty, I wanted to compare the map described with the map that was actually registered to locate the error but nothing is possible.
I analyze the "LogEntries" but nothing.

@StefH
Copy link
Collaborator

StefH commented Aug 25, 2022

@marspox & @MychellSantos

A possible solution would be that you can use response templating to return the GUID from the matched mapping as a header for example.

So

"Response" : {
  "Headers" : [
    "Matched-Mapping-Guid": "{{mapping.guid}}"
  ],
  "UseTransformer" : true
}

Would that be ok?

@StefH
Copy link
Collaborator

StefH commented Aug 25, 2022

@marspox & @MychellSantos

A preview version 1.5.4-ci-16400 supports this. Can you please test?

(how to use preview : https://github.com/WireMock-Net/WireMock.Net/wiki/MyGet-preview-versions)

@marspox
Copy link
Author

marspox commented Aug 25, 2022

Hi StefH,
thanks, for adding this feature

@StefH
Copy link
Collaborator

StefH commented Aug 27, 2022

@MychellSantos
Did you also have time to review / test ?

@StefH
Copy link
Collaborator

StefH commented Sep 1, 2022

@marspox and @MychellSantos
Did you also have time to review / test ?

@StefH
Copy link
Collaborator

StefH commented Sep 3, 2022

@marspox and @MychellSantos : The PR is merged to master, a new NuGet will be released soon.

@StefH StefH closed this as completed Sep 3, 2022
@StefH StefH added feature and removed question labels Sep 3, 2022
@MychellSantos
Copy link

I do not activate time to test, I will evaluate the next package...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants