module ActionDispatch::ContentSecurityPolicy::Request

def content_security_policy

def content_security_policy
  get_header(POLICY)
end

def content_security_policy=(policy)

def content_security_policy=(policy)
  set_header(POLICY, policy)
end

def content_security_policy_nonce

def content_security_policy_nonce
  if content_security_policy_nonce_generator
    if nonce = get_header(NONCE)
      nonce
    else
      set_header(NONCE, generate_content_security_policy_nonce)
    end
  end
end

def content_security_policy_nonce_directives

def content_security_policy_nonce_directives
  get_header(NONCE_DIRECTIVES)
end

def content_security_policy_nonce_directives=(generator)

def content_security_policy_nonce_directives=(generator)
  set_header(NONCE_DIRECTIVES, generator)
end

def content_security_policy_nonce_generator

def content_security_policy_nonce_generator
  get_header(NONCE_GENERATOR)
end

def content_security_policy_nonce_generator=(generator)

def content_security_policy_nonce_generator=(generator)
  set_header(NONCE_GENERATOR, generator)
end

def content_security_policy_report_only

def content_security_policy_report_only
  get_header(POLICY_REPORT_ONLY)
end

def content_security_policy_report_only=(value)

def content_security_policy_report_only=(value)
  set_header(POLICY_REPORT_ONLY, value)
end

def generate_content_security_policy_nonce

def generate_content_security_policy_nonce
  content_security_policy_nonce_generator.call(self)
end