class Fluent::HttpMixpanelInput

Public Instance Methods

on_request(path_info, params) click to toggle source
Calls superclass method
# File lib/fluent/plugin/in_http_mixpanel.rb, line 9
def on_request(path_info, params)
  data = Base64.decode64(params['data']).force_encoding('utf-8')
  json = JSON.parse(data)
  domain = params['HTTP_ORIGIN'].sub('://', '_').gsub('.', '_')
  props = json['properties']
  path = "/#{tag_prefix}.#{domain}.#{json['event']}"
  params['json'] = props.to_json
  params['time'] = props['time'].to_s if props['time']

  ret = super(path, params)
  
  headers = {
    'Access-Control-Allow-Credentials' => true,
    'Access-Control-Allow-Headers' => 'X-Requested-With',
    'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS',
    'Access-Control-Allow-Origin' => params['HTTP_ORIGIN'],
    'Access-Control-Max-Age' => 1728000,
    'Cache-Control' => 'no-cache, no-store',
    'Content-type' => 'text/plain'
  }

  [ret[0], headers, (ret[0] == '200 OK' ? '1' : '0')]
end