Sha256: 1ae16b4c4b574ded73718de1417f0b1ede55b8b6484e850ddae18162e13ea3e6
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 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 options? settings["REQUEST_METHOD"] == "OPTIONS" 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) ::JSON.parse(json) rescue ::JSON::ParserError => error logger.error( method: 'Broker.environment#data', message: 'ParserError', error: error ) logger.metric "JSONParserError" nil end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alephant-broker-3.19.1 | lib/alephant/broker/environment.rb |
alephant-broker-3.19.0 | lib/alephant/broker/environment.rb |