Sha256: d5e772dd55cd07622d0a8f778530e9a8d0d3285ca126fea855ec03dc57076dd8
Contents?: true
Size: 1.24 KB
Versions: 2
Compression:
Stored size: 1.24 KB
Contents
require "pinch_hitter/version" require "pinch_hitter/message/message_store" require "pinch_hitter/service/runner" module PinchHitter include PinchHitter::Service::Runner attr_accessor :message_store def messages_directory=(dir) self.message_store = PinchHitter::Message::MessageStore.new dir end def connect(host, port) self.session = Net::HTTP.new host, port end def session=(session) @session = session end def reset @session.post '/reset', '' end def prime(endpoint, message, overrides={}) store endpoint, message_store.load(message, overrides) end def store(endpoint, content) content_type = message_store.determine_content_type(content) @session.post "/store?endpoint=#{endpoint}", content, 'Content-Type' => content_type end def register_module(endpoint, handler) @session.post "/register_module?endpoint=#{endpoint}", Marshal.dump(handler) end def request_log(endpoint) requests = @session.get "/received_requests?endpoint=#{endpoint}" requests = JSON.parse(requests.body)['requests'] requests.map { |h| Struct.new(:body, :headers).new(h['body'], h['headers']) } end def received_messages(endpoint) request_log(endpoint).map { |request| request.body } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pinch_hitter-0.5.1 | lib/pinch_hitter.rb |
pinch_hitter-0.5 | lib/pinch_hitter.rb |