Sha256: 3df3f2eb33a47786fae8b0511331a645b0ca154970323a5be9aad053ff95b2e2
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require 'prefab-cloud-ruby' require 'rack' require 'base64' require 'json' handler = Rack::Handler::Thin # # This is a very lightweight server that allows the compliance harness to excercise the prefab client # class RackApp def call(env) props = CGI::parse(env["QUERY_STRING"]) props = JSON.parse(Base64.decode64(props["props"][0])) key = props["key"] namespace = props["namespace"] api_key = props["api_key"] user_key = props["user_key"] is_feature_flag = !props["feature_flag"].nil? puts props client = Prefab::Client.new( api_key: api_key, namespace: namespace, ) puts "Key #{key}" puts "User #{user_key}" puts "api_key #{api_key}" puts "Namespace #{namespace}" puts "Props! #{props}" puts "is_feature_flag! #{is_feature_flag}" puts client.config_client.to_s if is_feature_flag puts "EVALFF #{key} #{user_key}" rtn = client.feature_flag_client.get(key, user_key, []).to_s else rtn = client.config_client.get(key).to_s end puts "return #{rtn}" [200, { "Content-Type" => "text/plain" }, rtn] rescue Exception => e puts "ERROR #{e.message}" puts e.backtrace [500, { "Content-Type" => "text/plain" }, e.message] end end handler.run RackApp.new
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
prefab-cloud-ruby-0.11.0 | test/harness_server.rb |