class EzproxyProviders::WebOfKnowledge
Public Class Methods
parse(path, params)
click to toggle source
# File lib/logstash/filters/ezproxy_providers/webofknowledge.rb, line 4 def self.parse (path, params) data = { "provider" => "dawsonera" } if (match = /^\/([a-z_]+)\.do$/i.match(path)) if (params.key?('product')) productId = params['product'][0].kind_of?(Array) ? params['product'][0][0] : params['product'][0] end case (match[1]) when 'Search', 'InterService' data['rtype'] = 'TOC' data['mime'] = 'HTML' if (productId) data['title_id'] = productId end when 'full_record' data['rtype'] = 'REF' data['mime'] = 'HTML' if (productId) data['title_id'] = productId end when 'CitationReport' data['rtype'] = 'ANALYSIS' data['mime'] = 'MISC' if (productId) data['title_id'] = productId end end if (/^([a-z]+)_GeneralSearch_input/i.match(match[1])) data['rtype'] = 'SEARCH' data['mime'] = 'HTML' if (productId) data['title_id'] = productId end end elsif (match = /^\/([a-zA-z_]*)\.action$/i.match(path)) case (match[1]) when 'JCRJournalHomeAction' data['rtype'] = 'TOC' data['mime'] = 'HTML' when 'JCRJournalProfileAction' data['rtype'] = 'TABLE' data['mime'] = 'HTML' if (params.key?('journalTitle')) data['publication_title'] = params['journalTitle'][0] end if (params.key?('journal')) data['title_id'] = params['journal'][0] data['unit_id'] = "impact/" + params['journal'][0] + "/" + params['year'][0] end when 'IndicatorsAction' data['rtype'] = 'MAP' data['mime'] = 'MISC' when 'DocumentsAction' data['rtype'] = 'GRAPH' data['mime'] = 'MISC' else return {} end elsif ((match = /^\/([a-z]{2,3})\/analyze\.do$/i.match(path))) data['rtype'] = 'ANALYSIS' data['mime'] = 'MISC' end return data end