+htp #15922 import FileAndResourceDirectives from spray

Based on #16183 + #16195. So, please review just the last commit. I will rebase once the other PRs are merged.

Fixes #15922.

/cc @sirthias @hseeberger