gerouter 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -10
- data/README.md +17 -1
- data/lib/ger/broker/amqp.rb +6 -3
- data/lib/ger/router.rb +14 -2
- data/lib/ger/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b01a42a377006d4daaf42773d939651f36bba5a5
|
4
|
+
data.tar.gz: 1fb063d559c84e3748983fa6faa52cd789a403b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9eacfc8e71abe6139aec05bfc477aea431b1a9678e57ff19f11ea885346abd8bb80a1523c9f08ca3c93fea2ae408b922978e738ca6e68f246f040cee789a4f26
|
7
|
+
data.tar.gz: 8eaa503b333b1563c4b4a2c097743ffe800e676beb3bd7a512a641ee6a987ef796f020a06724474e35bccd1468d372a08b6b8968d7dea89b3c5297e02dc30283
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
gerouter (0.1.
|
4
|
+
gerouter (0.1.1)
|
5
5
|
amqp
|
6
6
|
em-ssh
|
7
7
|
eventmachine
|
@@ -9,19 +9,15 @@ PATH
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
amq-
|
13
|
-
|
12
|
+
amq-protocol (1.9.2)
|
13
|
+
amqp (1.2.0)
|
14
|
+
amq-protocol (>= 1.9.2)
|
14
15
|
eventmachine
|
15
|
-
|
16
|
-
amqp (1.0.2)
|
17
|
-
amq-client (~> 1.0.2)
|
18
|
-
amq-protocol (>= 1.3.0)
|
19
|
-
eventmachine
|
20
|
-
em-ssh (0.6.2)
|
16
|
+
em-ssh (0.6.5)
|
21
17
|
eventmachine
|
22
18
|
net-ssh
|
23
19
|
eventmachine (1.0.3)
|
24
|
-
net-ssh (2.
|
20
|
+
net-ssh (2.7.0)
|
25
21
|
|
26
22
|
PLATFORMS
|
27
23
|
ruby
|
data/README.md
CHANGED
@@ -114,6 +114,22 @@ app_id: gerouter
|
|
114
114
|
|
115
115
|
You can change app_id to your own id using `-i` option.
|
116
116
|
|
117
|
+
And, `headers`property is added as below.
|
118
|
+
|
119
|
+
```json
|
120
|
+
{
|
121
|
+
"headers": {
|
122
|
+
"gerrit-name":"<gerrit name in config>",
|
123
|
+
"gerrit-host":"<gerrit host>",
|
124
|
+
"gerrit-port":"<gerrit port>",
|
125
|
+
"gerrit-scheme":"ssh",
|
126
|
+
"gerrit-front-url":"<gerrit frontend url>",
|
127
|
+
"gerrit-version":"<gerrit version>",
|
128
|
+
"event_id":"<SHA256 message digest (generated from origin event)>"
|
129
|
+
}
|
130
|
+
}
|
131
|
+
```
|
132
|
+
|
117
133
|
Additional attribute in Gerrit event
|
118
134
|
---------------------------
|
119
135
|
|
@@ -125,7 +141,7 @@ As below, gerouter adds `provider` attribute into Gerrit event then send to brok
|
|
125
141
|
"name":"<gerrit name in config>",
|
126
142
|
"host":"<gerrit host>",
|
127
143
|
"port":"<gerrit port>",
|
128
|
-
"
|
144
|
+
"scheme":"ssh",
|
129
145
|
"url":"<gerrit frontend url>",
|
130
146
|
"version":"<gerrit version>",
|
131
147
|
"event_id":"<SHA256 message digest (generated from origin event)>"
|
data/lib/ger/broker/amqp.rb
CHANGED
@@ -21,7 +21,8 @@ module GerritEventRouter
|
|
21
21
|
super(broker)
|
22
22
|
@headers = {
|
23
23
|
:content_type => 'application/json',
|
24
|
-
:app_id => GER::NAME.downcase
|
24
|
+
:app_id => GER::NAME.downcase,
|
25
|
+
:persistent => true
|
25
26
|
}
|
26
27
|
uri = URI.parse(@broker.uri)
|
27
28
|
@headers[:user_id] = uri.user if uri.user
|
@@ -66,7 +67,7 @@ module GerritEventRouter
|
|
66
67
|
|
67
68
|
def generate_channel(connection = nil)
|
68
69
|
conn = connection || @connection
|
69
|
-
channel = ::AMQP::Channel.new(conn
|
70
|
+
channel = ::AMQP::Channel.new(conn)
|
70
71
|
channel.auto_recovery = true
|
71
72
|
channel.on_error do |ch, channel_close|
|
72
73
|
raise channel_close.reply_text
|
@@ -74,7 +75,9 @@ module GerritEventRouter
|
|
74
75
|
|
75
76
|
@exchange = ::AMQP::Exchange.new(channel,
|
76
77
|
@broker.exchange['type'].to_sym,
|
77
|
-
@broker.exchange['name']
|
78
|
+
@broker.exchange['name'],
|
79
|
+
:durable => true,
|
80
|
+
:auto_delete => false)
|
78
81
|
end
|
79
82
|
|
80
83
|
def conn_failure(err)
|
data/lib/ger/router.rb
CHANGED
@@ -18,6 +18,18 @@ module GerritEventRouter
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
def header(provider)
|
22
|
+
headers = {
|
23
|
+
"gerrit-name" => provider["name"],
|
24
|
+
"gerrit-host" => provider["host"],
|
25
|
+
"gerrit-scheme" => provider["scheme"],
|
26
|
+
"gerrit-port" => provider["port"],
|
27
|
+
"gerrit-front-url" => provider["url"],
|
28
|
+
"gerrit-version" => provider["version"]
|
29
|
+
}
|
30
|
+
return headers
|
31
|
+
end
|
32
|
+
|
21
33
|
def start
|
22
34
|
raise "Router still not be configured" unless @configured
|
23
35
|
|
@@ -56,7 +68,7 @@ module GerritEventRouter
|
|
56
68
|
"name" => @gerrit.name,
|
57
69
|
"host" => uri.host,
|
58
70
|
"port" => uri.port.to_s,
|
59
|
-
"
|
71
|
+
"scheme" => "ssh",
|
60
72
|
"url" => @gerrit.weburl
|
61
73
|
}
|
62
74
|
|
@@ -92,7 +104,7 @@ module GerritEventRouter
|
|
92
104
|
json["provider"] = provider
|
93
105
|
str = JSON.generate(json)
|
94
106
|
end
|
95
|
-
broker.send(str, :app_id => @appid, :routing_key => @gerrit.routing_key)
|
107
|
+
broker.send(str, :app_id => @appid, :routing_key => @gerrit.routing_key, :headers => header(provider))
|
96
108
|
end
|
97
109
|
end
|
98
110
|
end
|
data/lib/ger/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gerouter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- rinrinne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|