rack-amf 0.0.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. data/README.rdoc +18 -9
  2. data/Rakefile +23 -38
  3. data/lib/rack/amf/environment.rb +5 -8
  4. data/lib/rack/amf/middleware/pass_through.rb +5 -4
  5. data/lib/rack/amf/middleware/service_manager.rb +11 -3
  6. data/lib/rack/amf/middleware.rb +2 -1
  7. data/lib/rack/amf/request.rb +3 -16
  8. data/lib/rack/amf/response.rb +8 -67
  9. data/lib/rack/amf.rb +41 -1
  10. data/spec/{rack/service_manager_spec.rb → service_manager_spec.rb} +1 -2
  11. data/spec/spec.opts +2 -1
  12. data/spec/spec_helper.rb +1 -24
  13. metadata +19 -84
  14. data/lib/amf/class_mapping.rb +0 -211
  15. data/lib/amf/common.rb +0 -28
  16. data/lib/amf/constants.rb +0 -47
  17. data/lib/amf/pure/deserializer.rb +0 -361
  18. data/lib/amf/pure/io_helpers.rb +0 -94
  19. data/lib/amf/pure/remoting.rb +0 -120
  20. data/lib/amf/pure/serializer.rb +0 -327
  21. data/lib/amf/pure.rb +0 -14
  22. data/lib/amf/values/array_collection.rb +0 -9
  23. data/lib/amf/values/messages.rb +0 -133
  24. data/lib/amf/values/typed_hash.rb +0 -13
  25. data/lib/amf/version.rb +0 -9
  26. data/lib/amf.rb +0 -17
  27. data/spec/amf/class_mapping_set_spec.rb +0 -34
  28. data/spec/amf/class_mapping_spec.rb +0 -120
  29. data/spec/amf/deserializer_spec.rb +0 -311
  30. data/spec/amf/remoting_spec.rb +0 -51
  31. data/spec/amf/serializer_spec.rb +0 -328
  32. data/spec/amf/values/array_collection_spec.rb +0 -6
  33. data/spec/amf/values/messages_spec.rb +0 -31
  34. data/spec/fixtures/objects/amf0-boolean.bin +0 -1
  35. data/spec/fixtures/objects/amf0-date.bin +0 -0
  36. data/spec/fixtures/objects/amf0-ecma-ordinal-array.bin +0 -0
  37. data/spec/fixtures/objects/amf0-hash.bin +0 -0
  38. data/spec/fixtures/objects/amf0-null.bin +0 -1
  39. data/spec/fixtures/objects/amf0-number.bin +0 -0
  40. data/spec/fixtures/objects/amf0-object.bin +0 -0
  41. data/spec/fixtures/objects/amf0-ref-test.bin +0 -0
  42. data/spec/fixtures/objects/amf0-strict-array.bin +0 -0
  43. data/spec/fixtures/objects/amf0-string.bin +0 -0
  44. data/spec/fixtures/objects/amf0-typed-object.bin +0 -0
  45. data/spec/fixtures/objects/amf0-undefined.bin +0 -1
  46. data/spec/fixtures/objects/amf0-untyped-object.bin +0 -0
  47. data/spec/fixtures/objects/amf3-0.bin +0 -0
  48. data/spec/fixtures/objects/amf3-arrayRef.bin +0 -1
  49. data/spec/fixtures/objects/amf3-bigNum.bin +0 -0
  50. data/spec/fixtures/objects/amf3-date.bin +0 -0
  51. data/spec/fixtures/objects/amf3-datesRef.bin +0 -0
  52. data/spec/fixtures/objects/amf3-dynObject.bin +0 -2
  53. data/spec/fixtures/objects/amf3-emptyArray.bin +0 -1
  54. data/spec/fixtures/objects/amf3-emptyArrayRef.bin +0 -1
  55. data/spec/fixtures/objects/amf3-emptyStringRef.bin +0 -1
  56. data/spec/fixtures/objects/amf3-false.bin +0 -1
  57. data/spec/fixtures/objects/amf3-graphMember.bin +0 -0
  58. data/spec/fixtures/objects/amf3-hash.bin +0 -2
  59. data/spec/fixtures/objects/amf3-largeMax.bin +0 -0
  60. data/spec/fixtures/objects/amf3-largeMin.bin +0 -0
  61. data/spec/fixtures/objects/amf3-max.bin +0 -1
  62. data/spec/fixtures/objects/amf3-min.bin +0 -0
  63. data/spec/fixtures/objects/amf3-mixedArray.bin +0 -11
  64. data/spec/fixtures/objects/amf3-null.bin +0 -1
  65. data/spec/fixtures/objects/amf3-objRef.bin +0 -0
  66. data/spec/fixtures/objects/amf3-primArray.bin +0 -1
  67. data/spec/fixtures/objects/amf3-string.bin +0 -1
  68. data/spec/fixtures/objects/amf3-stringRef.bin +0 -0
  69. data/spec/fixtures/objects/amf3-symbol.bin +0 -1
  70. data/spec/fixtures/objects/amf3-true.bin +0 -1
  71. data/spec/fixtures/objects/amf3-typedObject.bin +0 -2
  72. data/spec/fixtures/request/acknowledge-response.bin +0 -0
  73. data/spec/fixtures/request/amf0-error-response.bin +0 -0
  74. data/spec/fixtures/request/commandMessage.bin +0 -0
  75. data/spec/fixtures/request/remotingMessage.bin +0 -0
  76. data/spec/fixtures/request/simple-response.bin +0 -0
  77. data/spec/rack/request_spec.rb +0 -6
  78. data/spec/rack/response_spec.rb +0 -47
data/README.rdoc CHANGED
@@ -1,6 +1,8 @@
1
1
  == DESCRIPTION:
2
2
 
3
- A full featured AMF gateway implemented as a Rack middleware. Includes fully compliant AMF0/AMF3 serializers and deserializers and a Rack middleware that includes a service handler and the ability to easily handle requests yourself if you don't want to use the service handler.
3
+ A full featured AMF gateway implemented as a Rack middleware. Includes a service
4
+ handler mode that simplifies service mappings, as well as a mode that simply
5
+ processes requests and lets you handle the response how you want.
4
6
 
5
7
  == INSTALL:
6
8
 
@@ -12,28 +14,35 @@ config.ru:
12
14
 
13
15
  require 'rack/amf'
14
16
  use Rack::AMF
15
-
17
+
18
+ class User
19
+ attr_accessor :username
20
+ end
21
+
16
22
  class TestService
17
23
  def sayHello
18
24
  'Hello'
19
25
  end
26
+
27
+ def getUser
28
+ u = User.new
29
+ u.username = "user"
30
+ u
31
+ end
20
32
  end
21
33
 
22
34
  Rack::AMF::Environment.register_service 'TestService', TestService.new
35
+ RocketAMF::ClassMapper.define do |m|
36
+ m.map :as => 'User', :ruby => 'User'
37
+ end
23
38
 
24
39
  run lambda {|env| [200, { 'Content-Type' => 'text/plain', 'Content-Length' => '16' }, ["Rack AMF gateway"] ] }
25
40
 
26
- == TODO:
27
-
28
- * Write some Rails helpers so that using Rack AMF as a Rails Metal is easy.
29
- * Support ActiveRecord serialization/deserialization
30
- * Auto-map to Rails controllers
31
-
32
41
  == LICENSE:
33
42
 
34
43
  (The MIT License)
35
44
 
36
- Copyright (c) 2009 Tony Hillerson based on work by Aaron Smith
45
+ Copyright (c) 2010 Stephen Augenstein
37
46
 
38
47
  Permission is hereby granted, free of charge, to any person obtaining
39
48
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -2,53 +2,38 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'rake/rdoctask'
4
4
  require 'rake/gempackagetask'
5
-
6
5
  require 'spec/rake/spectask'
7
6
 
8
- desc 'Default: run the specs.'
9
- task :default => :spec
10
-
11
- Spec::Rake::SpecTask.new do |t|
12
- t.spec_opts = ['--options', 'spec/spec.opts']
13
- end
14
-
15
- desc 'Generate documentation for the rubyamf plugin.'
16
- Rake::RDocTask.new(:rdoc) do |rdoc|
17
- rdoc.rdoc_dir = 'rdoc'
18
- rdoc.title = 'Rack AMF'
19
- rdoc.options << '--line-numbers' << '--main' << 'README.rdoc'
20
- rdoc.rdoc_files.include('README.rdoc')
21
- rdoc.rdoc_files.include('lib/**/*.rb')
22
- end
23
-
24
7
  spec = Gem::Specification.new do |s|
25
- s.name = 'rack-amf'
26
- s.version = '0.0.4'
27
- s.summary = 'AMF serializer/deserializer and AMF gateway packaged as a rack middleware'
8
+ s.name = 'rack-amf'
9
+ s.version = '1.0.0'
10
+ s.summary = 'AMF gateway packaged as a rack middleware'
11
+ s.authors = ['Stephen Augenstein']
12
+ s.email = 'perl.programmer@gmail.com'
13
+ s.homepage = 'http://github.com/warhammerkid/rack-amf'
28
14
 
29
- s.files = FileList['README.rdoc', 'Rakefile', 'lib/**/*.rb', 'spec/**/*.rb', 'spec/**/*.bin', 'spec/spec.opts']
30
- s.require_path = 'lib'
15
+ s.platform = Gem::Platform::RUBY
16
+ s.rdoc_options << '--line-numbers' << '--main' << 'README.rdoc'
17
+ s.rdoc_options += FileList['README.rdoc']
18
+ s.files = FileList['README.rdoc', 'Rakefile', 'lib/**/*.rb', 'spec/**/*.{rb,opts}']
31
19
  s.test_files = Dir[*['spec/**/*_spec.rb']]
32
20
 
33
- s.has_rdoc = true
34
- s.extra_rdoc_files = ['README.rdoc']
35
- s.rdoc_options = ['--line-numbers', '--main', 'README.rdoc']
21
+ s.add_dependency('RocketAMF')
22
+ end
36
23
 
37
- s.authors = ['Tony Hillerson', 'Stephen Augenstein']
38
- s.email = 'perl.programmer@gmail.com'
39
- s.homepage = 'http://github.com/warhammerkid/rack-amf'
24
+ desc 'Default: Run the specs'
25
+ task :default => :spec
40
26
 
41
- s.platform = Gem::Platform::RUBY
42
- end
27
+ Rake::GemPackageTask.new(spec).define
43
28
 
44
- Rake::GemPackageTask.new spec do |pkg|
45
- pkg.need_tar = true
46
- pkg.need_zip = true
29
+ desc "Generate documentation"
30
+ Rake::RDocTask.new(:rdoc) do |rdoc|
31
+ rdoc.rdoc_dir = 'rdoc'
32
+ rdoc.title = 'rack-amf'
33
+ rdoc.options = spec.rdoc_options
34
+ rdoc.rdoc_files.include('lib/**/*.rb')
47
35
  end
48
36
 
49
- desc 'Generate a gemspec file'
50
- task :gemspec do
51
- File.open("#{spec.name}.gemspec", 'w') do |f|
52
- f.write spec.to_ruby
53
- end
37
+ Spec::Rake::SpecTask.new do |t|
38
+ t.spec_opts = ['--options', 'spec/spec.opts']
54
39
  end
@@ -1,8 +1,11 @@
1
1
  module Rack::AMF
2
+ # Manages services if using the ServiceManager middleware, as well as the url
3
+ # to restrict AMF requests to, and the mode. The URL and mode are automatically
4
+ # set when you call <code>use Rack::AMF, options</code> in your rack
5
+ # application.
2
6
  module Environment
3
7
  class << self
4
- attr_accessor :url, :mode, :debug, :services
5
- debug = false # Set to off by default
8
+ attr_accessor :url, :mode, :services
6
9
 
7
10
  # Used to register a service for use with the ServiceManager middleware.
8
11
  # To register a service, simply pass in the root path for the service and
@@ -21,14 +24,8 @@ module Rack::AMF
21
24
  # in through rack
22
25
  def populate options={} #:nodoc:
23
26
  url = options[:url] if options.key?(:url)
24
- debug = options[:debug] if options.key?(:debug)
25
27
  mode = options[:mode] if options.key?(:mode)
26
28
  end
27
-
28
- def log data #:nodoc:
29
- return if !debug
30
- puts data
31
- end
32
29
  end
33
30
  end
34
31
  end
@@ -1,10 +1,11 @@
1
1
  require 'rack/amf/middleware'
2
2
 
3
3
  module Rack::AMF::Middleware #:nodoc:
4
- # Middleware which simply passes AMF requests through. Sets env['rack-amf.request']
5
- # to the Rack::AMF::Request object and env['rack-amf.response'] to the
6
- # Rack::AMF::Response object. Simply modify the response as necessary and it
7
- # will be automatically serialized and sent.
4
+ # Middleware which simply passes AMF requests through. If the request is a
5
+ # valid AMF request to be handled, sets <tt>env ['rack-amf.request']</tt> to
6
+ # an initialized RocketAMF::Request object and <tt>env ['rack-amf.response']</tt>
7
+ # to a RocketAMF::Response object. Simply modify the response as necessary
8
+ # and it will be automatically serialized and sent.
8
9
  class PassThrough
9
10
  include Rack::AMF::Middleware
10
11
 
@@ -1,4 +1,5 @@
1
1
  require 'rack/amf/middleware'
2
+ require 'logger'
2
3
 
3
4
  module Rack::AMF::Middleware #:nodoc:
4
5
  # Internal AMF handler, it uses the ServiceManager to handle request service
@@ -12,13 +13,17 @@ module Rack::AMF::Middleware #:nodoc:
12
13
  end
13
14
 
14
15
  def handle env
15
- env['rack-amf.response'].each_method_call do |method, args|
16
- handle_method method, args
16
+ req = env['rack-amf.request']
17
+ res = env['rack-amf.response']
18
+
19
+ logger = ::Logger.new(env['rack.errors'])
20
+ res.each_method_call req do |method, args|
21
+ handle_method method, args, logger
17
22
  end
18
23
  end
19
24
 
20
25
  private
21
- def handle_method method, args
26
+ def handle_method method, args, logger = nil
22
27
  path = method.split('.')
23
28
  method_name = path.pop
24
29
  path = path.join('.')
@@ -26,11 +31,14 @@ module Rack::AMF::Middleware #:nodoc:
26
31
  s = Rack::AMF::Environment.services
27
32
  if s[path]
28
33
  if s[path].respond_to?(method_name)
34
+ logger.info("Handling call to #{path}##{method_name}") if logger
29
35
  s[path].send(method_name, *args)
30
36
  else
37
+ logger.error("Service #{path} does not respond to #{method_name}") if logger
31
38
  raise "Service #{path} does not respond to #{method_name}"
32
39
  end
33
40
  else
41
+ logger.error("Service #{path} does not respond to #{method_name}") if logger
34
42
  raise "Service #{path} does not exist"
35
43
  end
36
44
  end
@@ -14,7 +14,8 @@ module Rack::AMF
14
14
  return @app.call(env) unless should_handle?(env)
15
15
 
16
16
  # Wrap request and response
17
- env['rack-amf.request'] = Request.new(env)
17
+ env['rack.input'].rewind
18
+ env['rack-amf.request'] = Request.new.populate_from_stream(env['rack.input'].read)
18
19
  env['rack-amf.response'] = Response.new(env['rack-amf.request'])
19
20
 
20
21
  # Call handle on "inheriting" class
@@ -1,21 +1,8 @@
1
1
  module Rack::AMF
2
- # Rack specific wrapper around AMF::Request
3
- class Request
4
- attr_reader :raw_request
5
-
6
- def initialize env
7
- env['rack.input'].rewind
8
- @raw_request = ::AMF::Request.new.populate_from_stream(env['rack.input'].read)
9
- end
10
-
11
- # Returns the request AMF version
2
+ class Request < RocketAMF::Request #:nodoc:
12
3
  def version
13
- raw_request.amf_version
14
- end
15
-
16
- # Returns all messages in the request
17
- def messages
18
- @raw_request.messages
4
+ $stderr.puts("DEPRECATION WARNING: use amf_version instead of version")
5
+ amf_version
19
6
  end
20
7
  end
21
8
  end
@@ -1,77 +1,18 @@
1
1
  module Rack::AMF
2
- # Rack specific wrapper around AMF::Response
3
- class Response
4
- attr_reader :raw_response
5
-
6
- V = ::AMF::Values
7
-
2
+ class Response < RocketAMF::Response #:nodoc:
8
3
  def initialize request
9
4
  @request = request
10
- @raw_response = ::AMF::Response.new
11
- @raw_response.amf_version = @request.version == 3 ? 3 : 0 # Can't just copy version because FMS sends version as 1
5
+ super()
12
6
  end
13
7
 
14
8
  # Builds response, iterating over each method call and using the return value
15
9
  # as the method call's return value
16
- #--
17
- # Iterate over all the sent messages. If they're somthing we can handle, like
18
- # a command message, then simply add the response message ourselves. If it's
19
- # a method call, then call the block with the method and args, catching errors
20
- # for handling. Then create the appropriate response message using the return
21
- # value of the block as the return value for the method call.
22
- def each_method_call &block
23
- raise 'Response already constructed' if @constructed
24
-
25
- @request.messages.each do |m|
26
- # What's the request body?
27
- case m.data
28
- when V::CommandMessage
29
- # Pings should be responded to with an AcknowledgeMessage built using the ping
30
- # Everything else is unsupported
31
- command_msg = m.data
32
- if command_msg.operation == V::CommandMessage::CLIENT_PING_OPERATION
33
- response_value = V::AcknowledgeMessage.new(command_msg)
34
- else
35
- response_value = V::ErrorMessage.new(Exception.new("CommandMessage #{command_msg.operation} not implemented"), command_msg)
36
- end
37
- when V::RemotingMessage
38
- # Using RemoteObject style message calls
39
- remoting_msg = m.data
40
- acknowledge_msg = V::AcknowledgeMessage.new(remoting_msg)
41
- body = dispatch_call :method => remoting_msg.source+'.'+remoting_msg.operation, :args => remoting_msg.body, :source => remoting_msg, :block => block
42
-
43
- # Response should be the bare ErrorMessage if there was an error
44
- if body.is_a?(V::ErrorMessage)
45
- response_value = body
46
- else
47
- acknowledge_msg.body = body
48
- response_value = acknowledge_msg
49
- end
50
- else
51
- # Standard response message
52
- response_value = dispatch_call :method => m.target_uri, :args => m.data, :source => m, :block => block
53
- end
54
-
55
- target_uri = m.response_uri
56
- target_uri += response_value.is_a?(V::ErrorMessage) ? '/onStatus' : '/onResult'
57
- @raw_response.messages << ::AMF::Message.new(target_uri, '', response_value)
58
- end
59
-
60
- @constructed = true
61
- end
62
-
63
- # Return the serialized response as a string
64
- def to_s
65
- raw_response.serialize
66
- end
67
-
68
- private
69
- def dispatch_call p
70
- begin
71
- p[:block].call(p[:method], p[:args])
72
- rescue Exception => e
73
- # Create ErrorMessage object using the source message as the base
74
- V::ErrorMessage.new(p[:source], e)
10
+ def each_method_call *args, &block
11
+ if args.length == 0
12
+ $stderr.puts("DEPRECATION WARNING: Use each_method_call request, &block instead of each_method_call &block")
13
+ super(@request, &block)
14
+ else
15
+ super(*args, &block)
75
16
  end
76
17
  end
77
18
  end
data/lib/rack/amf.rb CHANGED
@@ -1,7 +1,35 @@
1
+ require 'rubygems'
1
2
  require 'rack'
2
- require 'amf'
3
+ require 'rocketamf'
4
+
3
5
  require 'rack/amf/environment'
4
6
 
7
+ module Rack #:nodoc:
8
+ end
9
+
10
+ # Simple rack middleware that processes amf requests as a standard AMF gateway.
11
+ # To use, simply run <tt>use Rack::AMF</tt> in your rackup script. rack-amf
12
+ # support two options: <tt>:url</tt> and <tt>:mode</tt>. Setting the url makes
13
+ # rack-amf only handle AMF requests that match the given url. The mode can
14
+ # either by <tt>:service_manager</tt> or <tt>:pass_through</tt>, defaulting to
15
+ # <tt>:service_manager</tt>.
16
+ #
17
+ # In pass-through mode, rack-amf will set <tt>env ["rack-amf.request"]</tt> and
18
+ # <tt>env ["rack-amf.response"]</tt>. See <tt>Rack::AMF::Middleware::PassThrough</tt>
19
+ # for more information.
20
+ #
21
+ # In service-manager mode, you can register a given object to handle all method
22
+ # calls for a given path. AMF calls to "TestService.sayHello" will call the
23
+ # object's <tt>sayHello</tt> method and return "Hello".
24
+ #
25
+ # Example:
26
+ # use Rack::AMF :url => "/amf"
27
+ # class TestService
28
+ # def sayHello
29
+ # 'Hello'
30
+ # end
31
+ # end
32
+ # Rack::AMF::Environment.register_service 'TestService', TestService.new
5
33
  module Rack::AMF
6
34
  def self.new app, options={} #:nodoc:
7
35
  # Set default mode
@@ -18,4 +46,16 @@ module Rack::AMF
18
46
  raise "Invalide mode: #{options[:mode]}"
19
47
  end
20
48
  end
49
+ end
50
+
51
+ # For compatibility
52
+ module AMF #:nodoc:
53
+ def self.const_missing const
54
+ if const == :ClassMapper
55
+ $stderr.puts("DEPRECATION WARNING: Please use RocketAMF::ClassMapper instead of AMF::ClassMapper")
56
+ AMF.const_set(:ClassMapper, RocketAMF::ClassMapper)
57
+ else
58
+ super(const)
59
+ end
60
+ end
21
61
  end
@@ -1,5 +1,4 @@
1
- require File.dirname(__FILE__) + '/../spec_helper.rb'
2
- require 'rack/amf'
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
3
2
  require 'rack/amf/middleware/service_manager'
4
3
 
5
4
  describe Rack::AMF::Middleware::ServiceManager do
data/spec/spec.opts CHANGED
@@ -1 +1,2 @@
1
- --colour
1
+ --colour
2
+ -f nested
data/spec/spec_helper.rb CHANGED
@@ -8,27 +8,4 @@ end
8
8
  require 'spec/autorun'
9
9
 
10
10
  $:.unshift(File.dirname(__FILE__) + '/../lib')
11
- require 'amf'
12
-
13
- def request_fixture(binary_path)
14
- File.open(File.dirname(__FILE__) + '/fixtures/request/' + binary_path).read
15
- end
16
-
17
- def object_fixture(binary_path)
18
- File.open(File.dirname(__FILE__) + '/fixtures/objects/' + binary_path).read
19
- end
20
-
21
- def create_rack_request(binary_path)
22
- require 'rack/amf/request'
23
- env = {'rack.input' => StringIO.new(request_fixture(binary_path))}
24
- Rack::AMF::Request.new(env)
25
- end
26
-
27
- # Add reset support to ClassMapping
28
- module AMF
29
- class ClassMapping
30
- def reset
31
- @mappings = nil
32
- end
33
- end
34
- end
11
+ require 'rack/amf'
metadata CHANGED
@@ -1,43 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-amf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Tony Hillerson
8
7
  - Stephen Augenstein
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
11
 
13
- date: 2009-10-25 00:00:00 -04:00
12
+ date: 2010-03-20 00:00:00 -04:00
14
13
  default_executable:
15
- dependencies: []
16
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: RocketAMF
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
17
25
  description:
18
26
  email: perl.programmer@gmail.com
19
27
  executables: []
20
28
 
21
29
  extensions: []
22
30
 
23
- extra_rdoc_files:
24
- - README.rdoc
31
+ extra_rdoc_files: []
32
+
25
33
  files:
26
34
  - README.rdoc
27
35
  - Rakefile
28
- - lib/amf/class_mapping.rb
29
- - lib/amf/common.rb
30
- - lib/amf/constants.rb
31
- - lib/amf/pure/deserializer.rb
32
- - lib/amf/pure/io_helpers.rb
33
- - lib/amf/pure/remoting.rb
34
- - lib/amf/pure/serializer.rb
35
- - lib/amf/pure.rb
36
- - lib/amf/values/array_collection.rb
37
- - lib/amf/values/messages.rb
38
- - lib/amf/values/typed_hash.rb
39
- - lib/amf/version.rb
40
- - lib/amf.rb
41
36
  - lib/rack/amf/environment.rb
42
37
  - lib/rack/amf/middleware/pass_through.rb
43
38
  - lib/rack/amf/middleware/service_manager.rb
@@ -45,60 +40,8 @@ files:
45
40
  - lib/rack/amf/request.rb
46
41
  - lib/rack/amf/response.rb
47
42
  - lib/rack/amf.rb
48
- - spec/amf/class_mapping_set_spec.rb
49
- - spec/amf/class_mapping_spec.rb
50
- - spec/amf/deserializer_spec.rb
51
- - spec/amf/remoting_spec.rb
52
- - spec/amf/serializer_spec.rb
53
- - spec/amf/values/array_collection_spec.rb
54
- - spec/amf/values/messages_spec.rb
55
- - spec/rack/request_spec.rb
56
- - spec/rack/response_spec.rb
57
- - spec/rack/service_manager_spec.rb
43
+ - spec/service_manager_spec.rb
58
44
  - spec/spec_helper.rb
59
- - spec/fixtures/objects/amf0-boolean.bin
60
- - spec/fixtures/objects/amf0-date.bin
61
- - spec/fixtures/objects/amf0-ecma-ordinal-array.bin
62
- - spec/fixtures/objects/amf0-hash.bin
63
- - spec/fixtures/objects/amf0-null.bin
64
- - spec/fixtures/objects/amf0-number.bin
65
- - spec/fixtures/objects/amf0-object.bin
66
- - spec/fixtures/objects/amf0-ref-test.bin
67
- - spec/fixtures/objects/amf0-strict-array.bin
68
- - spec/fixtures/objects/amf0-string.bin
69
- - spec/fixtures/objects/amf0-typed-object.bin
70
- - spec/fixtures/objects/amf0-undefined.bin
71
- - spec/fixtures/objects/amf0-untyped-object.bin
72
- - spec/fixtures/objects/amf3-0.bin
73
- - spec/fixtures/objects/amf3-arrayRef.bin
74
- - spec/fixtures/objects/amf3-bigNum.bin
75
- - spec/fixtures/objects/amf3-date.bin
76
- - spec/fixtures/objects/amf3-datesRef.bin
77
- - spec/fixtures/objects/amf3-dynObject.bin
78
- - spec/fixtures/objects/amf3-emptyArray.bin
79
- - spec/fixtures/objects/amf3-emptyArrayRef.bin
80
- - spec/fixtures/objects/amf3-emptyStringRef.bin
81
- - spec/fixtures/objects/amf3-false.bin
82
- - spec/fixtures/objects/amf3-graphMember.bin
83
- - spec/fixtures/objects/amf3-hash.bin
84
- - spec/fixtures/objects/amf3-largeMax.bin
85
- - spec/fixtures/objects/amf3-largeMin.bin
86
- - spec/fixtures/objects/amf3-max.bin
87
- - spec/fixtures/objects/amf3-min.bin
88
- - spec/fixtures/objects/amf3-mixedArray.bin
89
- - spec/fixtures/objects/amf3-null.bin
90
- - spec/fixtures/objects/amf3-objRef.bin
91
- - spec/fixtures/objects/amf3-primArray.bin
92
- - spec/fixtures/objects/amf3-string.bin
93
- - spec/fixtures/objects/amf3-stringRef.bin
94
- - spec/fixtures/objects/amf3-symbol.bin
95
- - spec/fixtures/objects/amf3-true.bin
96
- - spec/fixtures/objects/amf3-typedObject.bin
97
- - spec/fixtures/request/acknowledge-response.bin
98
- - spec/fixtures/request/amf0-error-response.bin
99
- - spec/fixtures/request/commandMessage.bin
100
- - spec/fixtures/request/remotingMessage.bin
101
- - spec/fixtures/request/simple-response.bin
102
45
  - spec/spec.opts
103
46
  has_rdoc: true
104
47
  homepage: http://github.com/warhammerkid/rack-amf
@@ -109,6 +52,7 @@ rdoc_options:
109
52
  - --line-numbers
110
53
  - --main
111
54
  - README.rdoc
55
+ - README.rdoc
112
56
  require_paths:
113
57
  - lib
114
58
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -129,15 +73,6 @@ rubyforge_project:
129
73
  rubygems_version: 1.3.5
130
74
  signing_key:
131
75
  specification_version: 3
132
- summary: AMF serializer/deserializer and AMF gateway packaged as a rack middleware
76
+ summary: AMF gateway packaged as a rack middleware
133
77
  test_files:
134
- - spec/amf/class_mapping_set_spec.rb
135
- - spec/amf/class_mapping_spec.rb
136
- - spec/amf/deserializer_spec.rb
137
- - spec/amf/remoting_spec.rb
138
- - spec/amf/serializer_spec.rb
139
- - spec/amf/values/array_collection_spec.rb
140
- - spec/amf/values/messages_spec.rb
141
- - spec/rack/request_spec.rb
142
- - spec/rack/response_spec.rb
143
- - spec/rack/service_manager_spec.rb
78
+ - spec/service_manager_spec.rb