- # extend expire_action to expire all variants
- def expire_action(options = {})
- I18n.available_locales.each do |locale|
- super options.merge(:host => SERVER_URL, :locale => locale)
+ # Unfortunately if a PUT or POST request that has a body fails to
+ # read it then Apache will sometimes fail to return the response it
+ # is given to the client properly, instead erroring:
+ #
+ # https://issues.apache.org/bugzilla/show_bug.cgi?id=44782
+ #
+ # To work round this we call rewind on the body here, which is added
+ # as a filter, to force it to be fetched from Apache into a file.
+ def fetch_body
+ request.body.rewind
+ end
+
+ def map_layout
+ append_content_security_policy_directives(
+ :child_src => %w[http://127.0.0.1:8111 https://127.0.0.1:8112],
+ :frame_src => %w[http://127.0.0.1:8111 https://127.0.0.1:8112],
+ :connect_src => [Settings.nominatim_url, Settings.overpass_url, Settings.fossgis_osrm_url, Settings.graphhopper_url],
+ :form_action => %w[render.openstreetmap.org],
+ :style_src => %w['unsafe-inline']
+ )
+
+ if Settings.status == "database_offline" || Settings.status == "api_offline"
+ flash.now[:warning] = t("layouts.osm_offline")
+ elsif Settings.status == "database_readonly" || Settings.status == "api_readonly"
+ flash.now[:warning] = t("layouts.osm_read_only")