Describe the bug
Probe.get_request_headers() member uses and returns Probe.REQUEST_HEADERS class var. In some cases this causes concurrency issue leading to RuntimeError, dictionary changed size during iteration within GHC Runner app mainly with authenticated Resources.
To Reproduce
Steps to reproduce the behavior, e.g.:
- Create multiple Auth Resources in GHC
- Let Runner run some time
- Now and then Auth 401 error or
RuntimeError, dictionary changed size during iteration
- very hard to reproduce but code is clear
Expected Behavior
No errors.
Screenshots or Logfiles
Mainly this pattern, with 401 errors:

Context (please complete the following information):
- OS: all
- Browser N.A.
- Browser Version N.A.
- Python Version N.A.
- GeoHealthCheck Version latest master on 27.10.2019.
If running with Docker: N.A.
Additional context
See
https://github.com/geopython/GeoHealthCheck/blob/master/GeoHealthCheck/probe.py#L231
Need to do deepcopy here!
Describe the bug
Probe.get_request_headers()member uses and returnsProbe.REQUEST_HEADERSclass var. In some cases this causes concurrency issue leading toRuntimeError,dictionary changed size during iterationwithin GHCRunnerapp mainly with authenticatedResources.To Reproduce
Steps to reproduce the behavior, e.g.:
RuntimeError,dictionary changed size during iterationExpected Behavior
No errors.
Screenshots or Logfiles

Mainly this pattern, with 401 errors:
Context (please complete the following information):
If running with Docker: N.A.
Additional context
See
https://github.com/geopython/GeoHealthCheck/blob/master/GeoHealthCheck/probe.py#L231
Need to do
deepcopyhere!