Sha256: 128203951d702602dd47478b4f84336573188d81f078af3c172e8340c1ebd380
Contents?: true
Size: 1.2 KB
Versions: 2
Compression:
Stored size: 1.2 KB
Contents
require 'json' require 'alephant/logger' require 'rack' module Alephant module Broker class Environment include Logger attr_reader :settings def initialize(env) @settings = env end def method settings['REQUEST_METHOD'] end def post? settings['REQUEST_METHOD'] == 'POST' end def get? settings['REQUEST_METHOD'] == 'GET' end def query settings['QUERY_STRING'] || "" end def path settings['PATH_INFO'] end def if_none_match settings["HTTP_IF_NONE_MATCH"] end def if_modified_since settings["HTTP_IF_MODIFIED_SINCE"] end def data parse(rack_input) if post? end def options Rack::Utils.parse_nested_query query end private def rack_input (settings['rack.input'].read).tap { settings['rack.input'].rewind } end def parse(json) begin ::JSON.parse(json) rescue ::JSON::ParserError => e logger.warn "Broker.environment#data: ParserError" logger.metric "JSONParserError" nil end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alephant-broker-3.10.2 | lib/alephant/broker/environment.rb |
alephant-broker-3.10.1 | lib/alephant/broker/environment.rb |