m2r 2.0.2 → 2.1.0.pre
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.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +11 -3
- data/Vagrantfile +16 -0
- data/example/http_0mq.rb +4 -0
- data/kitchen/Rakefile +28 -0
- data/kitchen/auth.cfg +2 -0
- data/kitchen/cookbooks/build-essential/README.md +24 -0
- data/kitchen/cookbooks/build-essential/metadata.json +35 -0
- data/kitchen/cookbooks/build-essential/metadata.rb +10 -0
- data/kitchen/cookbooks/build-essential/recipes/default.rb +45 -0
- data/kitchen/cookbooks/essential/CHANGELOG.md +12 -0
- data/kitchen/cookbooks/essential/README.md +12 -0
- data/kitchen/cookbooks/essential/metadata.json +29 -0
- data/kitchen/cookbooks/essential/metadata.rb +6 -0
- data/kitchen/cookbooks/essential/recipes/default.rb +16 -0
- data/kitchen/cookbooks/m2r/CHANGELOG.md +12 -0
- data/kitchen/cookbooks/m2r/README.md +12 -0
- data/kitchen/cookbooks/m2r/metadata.json +29 -0
- data/kitchen/cookbooks/m2r/metadata.rb +6 -0
- data/kitchen/cookbooks/m2r/recipes/default.rb +13 -0
- data/kitchen/cookbooks/mongrel2/CHANGELOG.md +12 -0
- data/kitchen/cookbooks/mongrel2/README.md +12 -0
- data/kitchen/cookbooks/mongrel2/metadata.json +29 -0
- data/kitchen/cookbooks/mongrel2/metadata.rb +6 -0
- data/kitchen/cookbooks/mongrel2/recipes/default.rb +38 -0
- data/kitchen/cookbooks/ruby-build/README.md +12 -0
- data/kitchen/cookbooks/ruby-build/definitions/ruby.rb +65 -0
- data/kitchen/cookbooks/ruby-build/metadata.json +29 -0
- data/kitchen/cookbooks/ruby-build/metadata.rb +6 -0
- data/kitchen/cookbooks/ruby-build/recipes/default.rb +9 -0
- data/kitchen/cookbooks/zmq/CHANGELOG.md +12 -0
- data/kitchen/cookbooks/zmq/README.md +12 -0
- data/kitchen/cookbooks/zmq/metadata.json +29 -0
- data/kitchen/cookbooks/zmq/metadata.rb +6 -0
- data/kitchen/cookbooks/zmq/recipes/default.rb +36 -0
- data/kitchen/data_bags/README +1 -0
- data/kitchen/data_bags/vagrant.key +27 -0
- data/kitchen/data_bags/vagrant.pub +1 -0
- data/kitchen/m2r.cfg +5 -0
- data/kitchen/nodes/m2r.local.json +16 -0
- data/kitchen/roles/.gitkeep +0 -0
- data/kitchen/site-cookbooks/README +1 -0
- data/lib/m2r.rb +2 -0
- data/lib/m2r/connection.rb +30 -5
- data/lib/m2r/handler.rb +8 -0
- data/lib/m2r/multithread_handler.rb +27 -0
- data/lib/m2r/parser.rb +44 -0
- data/lib/m2r/rack_handler.rb +0 -2
- data/lib/m2r/request.rb +2 -21
- data/lib/m2r/version.rb +1 -1
- data/lib/rack/handler/mongrel2.rb +7 -3
- data/m2r.gemspec +3 -3
- data/test/support/test_handler.rb +29 -12
- data/test/test_helper.rb +1 -1
- data/test/unit/connection_test.rb +51 -16
- data/test/unit/handler_test.rb +33 -5
- data/test/unit/m2r_test.rb +2 -0
- data/test/unit/multithread_handler_test.rb +75 -0
- data/test/unit/rack_handler_test.rb +6 -2
- data/test/unit/{request_test.rb → request_parsing_test.rb} +5 -5
- metadata +71 -62
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3f0f628d8db7c7de4625f0f42445f377c3ec9f5c
|
4
|
+
data.tar.gz: c356a75ae6cbdc2e7c4eff39e977abd887619cc4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b4afde4794564c45b804289ead01320838d968d4e74a71abf002fdbcbac3c01e6786b01508eb0f63cd7da38004b317078ec396e4fdfc444143cd4c87a0c79a0f
|
7
|
+
data.tar.gz: 1d6dc2ce3668765acc617f5b8e61327db02b41c0aee29883832953b3a219ef89359a31f8a456baecddba81ec5b03f6d04747f7bb42d8d2f92c0af9e493ede2d7
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -2,14 +2,14 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- 1.9.3
|
4
4
|
- 1.9.2
|
5
|
+
- 2.0.0
|
5
6
|
- ruby-head
|
6
7
|
- jruby-19mode
|
7
8
|
- jruby-head
|
8
9
|
- rbx-19mode
|
9
10
|
|
10
11
|
env:
|
11
|
-
- PATH=/opt/mongrel2-1.
|
12
|
-
- PATH=/opt/mongrel2-1.8.0/bin:$PATH
|
12
|
+
- PATH=/opt/mongrel2-1.8.1/bin:$PATH
|
13
13
|
|
14
14
|
matrix:
|
15
15
|
allow_failures:
|
@@ -20,4 +20,12 @@ notifications:
|
|
20
20
|
irc: "irc.freenode.org#mongrel2-ruby"
|
21
21
|
|
22
22
|
before_install:
|
23
|
-
-
|
23
|
+
- sudo apt-get install -qq libzmq3-dev
|
24
|
+
- mkdir mongrel2-1.8.1
|
25
|
+
- curl -L https://github.com/zedshaw/mongrel2/archive/v1.8.1.tar.gz -o - |tar --strip-components=1 -C mongrel2-1.8.1 -zxvf -
|
26
|
+
- pushd mongrel2-1.8.1
|
27
|
+
- make PREFIX=/opt/mongrel2-1.8.1
|
28
|
+
- sudo make install PREFIX=/opt/mongrel2-1.8.1
|
29
|
+
- popd
|
30
|
+
|
31
|
+
script: bundle exec rake
|
data/Vagrantfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
3
|
+
|
4
|
+
Vagrant::Config.run do |multi|
|
5
|
+
multi.vm.define :m2r do |config|
|
6
|
+
config.vm.box = "m2r"
|
7
|
+
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
|
8
|
+
|
9
|
+
config.vm.host_name = "m2r.local"
|
10
|
+
config.vm.network :hostonly, "172.26.66.100"
|
11
|
+
config.vm.share_folder "v-root", "/home/vagrant/current", "."
|
12
|
+
|
13
|
+
config.vm.customize ["modifyvm", :id, "--memory", 512]
|
14
|
+
config.ssh.forward_agent = true
|
15
|
+
end
|
16
|
+
end
|
data/example/http_0mq.rb
CHANGED
@@ -54,5 +54,9 @@ pub_port = "tcp://127.0.0.1:9998"
|
|
54
54
|
|
55
55
|
factory = M2R::ConnectionFactory.new M2R::ConnectionFactory::Options.new(sender_id, pull_port, pub_port)
|
56
56
|
handler = Http0MQHandler.new(factory, M2R::Request)
|
57
|
+
graceful = Proc.new { handler.stop }
|
58
|
+
trap("INT", &graceful)
|
59
|
+
trap("TERM", &graceful)
|
57
60
|
handler.listen
|
61
|
+
M2R.zmq_context.terminate
|
58
62
|
|
data/kitchen/Rakefile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
COOKBOOKS_DIR = File.expand_path('../cookbooks', __FILE__)
|
2
|
+
ROLE_DIR = File.expand_path('../roles', __FILE__)
|
3
|
+
|
4
|
+
require 'chef'
|
5
|
+
require 'posix/spawn'
|
6
|
+
|
7
|
+
namespace :roles do
|
8
|
+
desc "Convert ruby roles from ruby to json, creating/overwriting json files."
|
9
|
+
task :to_json do
|
10
|
+
Dir.glob(File.join(ROLE_DIR, '*.rb')) do |rb_file|
|
11
|
+
role = Chef::Role.new
|
12
|
+
role.from_file(rb_file)
|
13
|
+
json_file = rb_file.sub(/\.rb$/,'.json')
|
14
|
+
File.open(json_file, 'w'){|f| f.write(JSON.pretty_generate(role))}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
namespace :metadata do
|
20
|
+
desc "Convert all metadata from ruby to json."
|
21
|
+
task :to_json do
|
22
|
+
Dir.glob(File.join(COOKBOOKS_DIR, '*/metadata.rb')) do |rb_file|
|
23
|
+
path = rb_file.split('/')[-3]
|
24
|
+
recipe = rb_file.split('/')[-2]
|
25
|
+
POSIX::Spawn::spawn("knife cookbook metadata -o #{path} #{recipe}")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/kitchen/auth.cfg
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
DESCRIPTION
|
2
|
+
===========
|
3
|
+
|
4
|
+
Installs packages required for compiling C software from source.
|
5
|
+
|
6
|
+
LICENSE AND AUTHOR
|
7
|
+
==================
|
8
|
+
|
9
|
+
Author:: Joshua Timberman (<joshua@opscode.com>)
|
10
|
+
Author:: Seth Chisamore (<schisamo@opscode.com>)
|
11
|
+
|
12
|
+
Copyright 2009-2011, Opscode, Inc.
|
13
|
+
|
14
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
15
|
+
you may not use this file except in compliance with the License.
|
16
|
+
You may obtain a copy of the License at
|
17
|
+
|
18
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
19
|
+
|
20
|
+
Unless required by applicable law or agreed to in writing, software
|
21
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
22
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
23
|
+
See the License for the specific language governing permissions and
|
24
|
+
limitations under the License.
|
@@ -0,0 +1,35 @@
|
|
1
|
+
{
|
2
|
+
"name": "build-essential",
|
3
|
+
"description": "Installs C compiler / build tools",
|
4
|
+
"long_description": "",
|
5
|
+
"maintainer": "Opscode, Inc.",
|
6
|
+
"maintainer_email": "cookbooks@opscode.com",
|
7
|
+
"license": "Apache 2.0",
|
8
|
+
"platforms": {
|
9
|
+
"fedora": ">= 0.0.0",
|
10
|
+
"redhat": ">= 0.0.0",
|
11
|
+
"centos": ">= 0.0.0",
|
12
|
+
"ubuntu": ">= 0.0.0",
|
13
|
+
"debian": ">= 0.0.0"
|
14
|
+
},
|
15
|
+
"dependencies": {
|
16
|
+
},
|
17
|
+
"recommendations": {
|
18
|
+
},
|
19
|
+
"suggestions": {
|
20
|
+
},
|
21
|
+
"conflicting": {
|
22
|
+
},
|
23
|
+
"providing": {
|
24
|
+
},
|
25
|
+
"replacing": {
|
26
|
+
},
|
27
|
+
"attributes": {
|
28
|
+
},
|
29
|
+
"groupings": {
|
30
|
+
},
|
31
|
+
"recipes": {
|
32
|
+
"build-essential": "Installs C compiler and build tools on Linux"
|
33
|
+
},
|
34
|
+
"version": "1.0.0"
|
35
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
maintainer "Opscode, Inc."
|
2
|
+
maintainer_email "cookbooks@opscode.com"
|
3
|
+
license "Apache 2.0"
|
4
|
+
description "Installs C compiler / build tools"
|
5
|
+
version "1.0.0"
|
6
|
+
recipe "build-essential", "Installs C compiler and build tools on Linux"
|
7
|
+
|
8
|
+
%w{ fedora redhat centos ubuntu debian }.each do |os|
|
9
|
+
supports os
|
10
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: build-essential
|
3
|
+
# Recipe:: default
|
4
|
+
#
|
5
|
+
# Copyright 2008-2009, Opscode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
case node['platform']
|
21
|
+
when "ubuntu","debian"
|
22
|
+
%w{build-essential binutils-doc}.each do |pkg|
|
23
|
+
package pkg do
|
24
|
+
action :install
|
25
|
+
end
|
26
|
+
end
|
27
|
+
when "centos","redhat","fedora"
|
28
|
+
%w{gcc gcc-c++ kernel-devel make}.each do |pkg|
|
29
|
+
package pkg do
|
30
|
+
action :install
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
package "autoconf" do
|
36
|
+
action :install
|
37
|
+
end
|
38
|
+
|
39
|
+
package "flex" do
|
40
|
+
action :install
|
41
|
+
end
|
42
|
+
|
43
|
+
package "bison" do
|
44
|
+
action :install
|
45
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# CHANGELOG for essential
|
2
|
+
|
3
|
+
This file is used to list changes made in each version of essential.
|
4
|
+
|
5
|
+
## 0.1.0:
|
6
|
+
|
7
|
+
* Initial release of essential
|
8
|
+
|
9
|
+
- - -
|
10
|
+
Check the [Markdown Syntax Guide](http://daringfireball.net/projects/markdown/syntax) for help with Markdown.
|
11
|
+
|
12
|
+
The [Github Flavored Markdown page](http://github.github.com/github-flavored-markdown/) describes the differences between markdown on github and standard markdown.
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"name": "essential",
|
3
|
+
"description": "Installs/Configures essential",
|
4
|
+
"long_description": "Description\n===========\n\nRequirements\n============\n\nAttributes\n==========\n\nUsage\n=====\n\n",
|
5
|
+
"maintainer": "YOUR_COMPANY_NAME",
|
6
|
+
"maintainer_email": "YOUR_EMAIL",
|
7
|
+
"license": "All rights reserved",
|
8
|
+
"platforms": {
|
9
|
+
},
|
10
|
+
"dependencies": {
|
11
|
+
},
|
12
|
+
"recommendations": {
|
13
|
+
},
|
14
|
+
"suggestions": {
|
15
|
+
},
|
16
|
+
"conflicting": {
|
17
|
+
},
|
18
|
+
"providing": {
|
19
|
+
},
|
20
|
+
"replacing": {
|
21
|
+
},
|
22
|
+
"attributes": {
|
23
|
+
},
|
24
|
+
"groupings": {
|
25
|
+
},
|
26
|
+
"recipes": {
|
27
|
+
},
|
28
|
+
"version": "0.1.0"
|
29
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# CHANGELOG for m2r
|
2
|
+
|
3
|
+
This file is used to list changes made in each version of m2r.
|
4
|
+
|
5
|
+
## 0.1.0:
|
6
|
+
|
7
|
+
* Initial release of m2r
|
8
|
+
|
9
|
+
- - -
|
10
|
+
Check the [Markdown Syntax Guide](http://daringfireball.net/projects/markdown/syntax) for help with Markdown.
|
11
|
+
|
12
|
+
The [Github Flavored Markdown page](http://github.github.com/github-flavored-markdown/) describes the differences between markdown on github and standard markdown.
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"name": "m2r",
|
3
|
+
"description": "Installs/Configures m2r",
|
4
|
+
"long_description": "Description\n===========\n\nRequirements\n============\n\nAttributes\n==========\n\nUsage\n=====\n\n",
|
5
|
+
"maintainer": "YOUR_COMPANY_NAME",
|
6
|
+
"maintainer_email": "YOUR_EMAIL",
|
7
|
+
"license": "All rights reserved",
|
8
|
+
"platforms": {
|
9
|
+
},
|
10
|
+
"dependencies": {
|
11
|
+
},
|
12
|
+
"recommendations": {
|
13
|
+
},
|
14
|
+
"suggestions": {
|
15
|
+
},
|
16
|
+
"conflicting": {
|
17
|
+
},
|
18
|
+
"providing": {
|
19
|
+
},
|
20
|
+
"replacing": {
|
21
|
+
},
|
22
|
+
"attributes": {
|
23
|
+
},
|
24
|
+
"groupings": {
|
25
|
+
},
|
26
|
+
"recipes": {
|
27
|
+
},
|
28
|
+
"version": "0.1.0"
|
29
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# CHANGELOG for mongrel2
|
2
|
+
|
3
|
+
This file is used to list changes made in each version of mongrel2.
|
4
|
+
|
5
|
+
## 0.1.0:
|
6
|
+
|
7
|
+
* Initial release of mongrel2
|
8
|
+
|
9
|
+
- - -
|
10
|
+
Check the [Markdown Syntax Guide](http://daringfireball.net/projects/markdown/syntax) for help with Markdown.
|
11
|
+
|
12
|
+
The [Github Flavored Markdown page](http://github.github.com/github-flavored-markdown/) describes the differences between markdown on github and standard markdown.
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"name": "mongrel2",
|
3
|
+
"description": "Installs/Configures mongrel2",
|
4
|
+
"long_description": "Description\n===========\n\nRequirements\n============\n\nAttributes\n==========\n\nUsage\n=====\n\n",
|
5
|
+
"maintainer": "YOUR_COMPANY_NAME",
|
6
|
+
"maintainer_email": "YOUR_EMAIL",
|
7
|
+
"license": "All rights reserved",
|
8
|
+
"platforms": {
|
9
|
+
},
|
10
|
+
"dependencies": {
|
11
|
+
},
|
12
|
+
"recommendations": {
|
13
|
+
},
|
14
|
+
"suggestions": {
|
15
|
+
},
|
16
|
+
"conflicting": {
|
17
|
+
},
|
18
|
+
"providing": {
|
19
|
+
},
|
20
|
+
"replacing": {
|
21
|
+
},
|
22
|
+
"attributes": {
|
23
|
+
},
|
24
|
+
"groupings": {
|
25
|
+
},
|
26
|
+
"recipes": {
|
27
|
+
},
|
28
|
+
"version": "0.1.0"
|
29
|
+
}
|