#Ruby example #hash of all HTTP headers for header in request.env.select {|k,v| k.match("^HTTP.*") } headers["#{header[0].split('_',2)[1]}"] = "#{header[1]}" end #get the schema from the specific header file = HTTParty.get("#{headers["X_XC_SCHEMA_URI"]}") #Parse the schema schema = Avro::Schema.parse(file.parsed_response.to_s.gsub(/\=\>/,':')) stringreader = StringIO.new(request.body.string) decoder = Avro::IO::BinaryDecoder.new(stringreader) datumreader = Avro::IO::DatumReader.new(schema) #read the message read_value = datumreader.read(decoder)