Module: Firehose::Patches::SwfPolicyRequest

Included in:
Rainbows::EventMachine::Client, Thin::Connection
Defined in:
lib/firehose/patches/swf_policy_request.rb

Overview

Helpers for making Firehose work with Macromedia Flash Sockets. Since this doesn’t use “normal” HTTP, we have to monkey patch both Rainbows and Thin to recognize when a request is for a SWF policy.

Instance Method Summary collapse

Instance Method Details

#handle_swf_policy_request(data) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/firehose/patches/swf_policy_request.rb', line 7

def handle_swf_policy_request(data)
  if data =~ /\A<policy-file-request\s*\/>/
    Firehose.logger.debug "Received SWF Policy request: #{data.inspect}"
    send_data policy
    close_connection_after_writing
    true
  end
end

#policyObject



16
17
18
19
20
21
22
23
# File 'lib/firehose/patches/swf_policy_request.rb', line 16

def policy
  <<-EOS
  <?xml version="1.0"?>
  <cross-domain-policy>
    <allow-access-from domain="*" to-ports="*"/>
  </cross-domain-policy>
  EOS
end