If no rule matches we would still like to use the default retry-after.  Perhaps you could set those values before the iteration?

wh_json:foldr(fun(Rule, J) -> .... end, wh_json:set_value(<<"retry-after">>, ?DEFAULT_RETRY_PERIOD, JObj, Map)