gerouter 0.1.1 → 0.2.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.
- 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
|