When the context is a map (as it is in a web View for instance) you can't assume a non-null fetcher actually contains the property you are searching for. This change alters the logic so that the native fetcher is always consulted if it exists, but there is always a fallback.

Fixes gh-21045

Comment From: dsyer

CI failures look unrelated to me?

Comment From: wilkinsona

CI failures look unrelated to me?

Confirmed. The latest Micrometer 1.5 snapshots have broken our build.

Comment From: dsyer

UPDATE: this patch is not complete. It fails to resolve _csrf.token in a basic Spring Security app. I'll try and fix that.

Comment From: philwebb

I'm tempted to just apply this to 2.3.x rather than the older branches. Any objections @dsyer?

Comment From: dsyer

No, I don’t think so.

Comment From: snicoll

There is an unrelated change in .gitignore that should be removed.

Comment From: dsyer

I left it as a separate commit so you can leave it out easily if you want.

Comment From: philwebb

Thanks @dsyer! I pulled the ignore commit out and applied it to 2.1.x onwards. The Mustache fix is just on 2.3.x+.