Module: Gitlab::Logging::CloudflareHelper

Constant Summary collapse

CLOUDFLARE_CUSTOM_HEADERS =
{ 'Cf-Request-Id' => :cf_request_id,
'Cf-IPCountry' => :cf_ipcountry }.freeze

Instance Method Summary collapse

Instance Method Details

#store_cloudflare_headers!(payload, request) ⇒ Object



9
10
11
12
13
# File 'lib/gitlab/logging/cloudflare_helper.rb', line 9

def store_cloudflare_headers!(payload, request)
  CLOUDFLARE_CUSTOM_HEADERS.each do |header, value|
    payload[value] = request.headers[header] if valid_cloudflare_header?(request.headers[header])
  end
end

#valid_cloudflare_header?(value) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
18
19
20
21
# File 'lib/gitlab/logging/cloudflare_helper.rb', line 15

def valid_cloudflare_header?(value)
  return false unless value.present?
  return false if value.length > 64
  return false if value.index(/[^[.A-Za-z0-9-]]/)

  true
end