pdns-remotebackend 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -51,16 +51,40 @@ To start a pipe or unix server, do
51
51
 
52
52
  In addition to stubs for remotebackend, the Pdns::Remotebackend::Handler has following helpers for making records
53
53
 
54
- def record_prio_ttl(qtype,qname,content,prio,ttl,auth=1)
54
+ # Generates a hash of resource record
55
+ #
56
+ # @param [String] qname name of record
57
+ # @param [String] qtype type of record
58
+ # @param [String] content record contents
59
+ # @param [Integer] prio Record priority
60
+ # @param [Integer] ttl Record TTL
61
+ # @param [Integer] auth Whether we are authoritative for the record or not
62
+ # @return [Hash] A resource record hash
63
+ def record_prio_ttl(qname,qtype,content,prio,ttl,auth=1)
55
64
  {:qtype => qtype, :qname => qname, :content => content, :priority => prio, :ttl => ttl, :auth => auth}
56
65
  end
57
-
58
- def record_prio(qtype,qname,content,prio,auth=1)
59
- record_prio_ttl(qtype,qname,content,prio,@ttl,auth)
66
+
67
+ # Generates a hash of resource record
68
+ #
69
+ # @param [String] qname name of record
70
+ # @param [String] qtype type of record
71
+ # @param [String] content record contents
72
+ # @param [Integer] prio Record priority
73
+ # @param [Integer] auth Whether we are authoritative for the record or not
74
+ # @return [Hash] A resource record hash
75
+ def record_prio(qname,qtype,content,prio,auth=1)
76
+ record_prio_ttl(qname,qtype,content,prio,@ttl,auth)
60
77
  end
61
-
62
- def record(qtype,qname,content,auth=1)
63
- record_prio_ttl(qtype,qname,content,0,@ttl,auth)
78
+
79
+ # Generates a hash of resource record
80
+ #
81
+ # @param [String] qname name of record
82
+ # @param [String] qtype type of record
83
+ # @param [String] content record contents
84
+ # @param [Integer] auth Whether we are authoritative for the record or not
85
+ # @return [Hash] A resource record hash
86
+ def record(qname,qtype,content,auth=1)
87
+ record_prio_ttl(qname,qtype,content,0,@ttl,auth)
64
88
  end
65
89
 
66
90
  ## Contributing
@@ -1,5 +1,5 @@
1
1
  module Pdns
2
2
  module Remotebackend
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
@@ -146,56 +146,55 @@ module Pdns
146
146
  #
147
147
  # @param [Socket] reader Socket to read from'
148
148
  # @param [Socket] writer Socket to write to
149
- protected
150
149
  def mainloop(reader,writer)
151
150
  h = @handler.new
152
151
 
153
- begin
154
- reader.each_line do |line|
155
- # expect json
156
- input = {}
157
- line = line.strip
158
- next if line.empty?
159
- begin
160
- input = JSON.parse(line)
161
- method = "do_#{input["method"].downcase}"
162
- args = input["parameters"] || {}
163
-
164
- h.result = false
165
- h.log = []
166
-
167
- if h.respond_to?(method.to_sym) == false
168
- res = false
169
- else
170
- h.send(method,args)
171
- end
172
-
173
- writer.puts ({:result => h.result, :log => h.log}).to_json
174
- rescue JSON::ParserError
175
- writer.puts ({:result => false, :log => "Cannot parse input #{line}"}).to_json
176
- next
152
+ reader.each_line do |line|
153
+ # expect json
154
+ input = {}
155
+ line = line.strip
156
+ next if line.empty?
157
+ begin
158
+ input = JSON.parse(line)
159
+ method = "do_#{input["method"].downcase}"
160
+ args = input["parameters"] || {}
161
+ h.result = false
162
+ h.log = []
163
+ if h.respond_to?(method.to_sym) == false
164
+ res = false
165
+ else
166
+ h.send(method,args)
177
167
  end
168
+ writer.puts ({:result => h.result, :log => h.log}).to_json
169
+ rescue JSON::ParserError
170
+ writer.puts ({:result => false, :log => "Cannot parse input #{line}"}).to_json
171
+ next
178
172
  end
179
- rescue SystemExit, Interrupt
180
- end
173
+ end
181
174
  end
182
175
  end
183
176
 
184
177
  class Pipe < Connector
185
178
  def run
186
- mainloop STDIN,STDOUT
179
+ begin
180
+ mainloop STDIN,STDOUT
181
+ rescue SystemExit, Interrupt
182
+ end
187
183
  end
188
184
  end
189
185
 
190
186
  class Unix < Connector
191
187
  def run
192
- @path = options[:path] || "/tmp/remotebackend.sock"
193
- Socket.unix_server_loop(@path) do |sock, client_addrinfo|
194
- begin
195
- mainloop sock, sock
196
- ensure
197
- sock.close
188
+ @path = @options[:path] || "/tmp/remotebackend.sock"
189
+ begin
190
+ Socket.unix_server_loop(@path) do |sock, client_addrinfo|
191
+ begin
192
+ mainloop sock, sock
193
+ ensure
194
+ sock.close
195
+ end
198
196
  end
197
+ rescue SystemExit, Interrupt
199
198
  end
200
199
  end
201
200
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdns-remotebackend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &6907400 !ruby/object:Gem::Requirement
16
+ requirement: &6941400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *6907400
24
+ version_requirements: *6941400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &6906980 !ruby/object:Gem::Requirement
27
+ requirement: &6940980 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *6906980
35
+ version_requirements: *6940980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &6906560 !ruby/object:Gem::Requirement
38
+ requirement: &6940560 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *6906560
46
+ version_requirements: *6940560
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: redcarpet
49
- requirement: &6906140 !ruby/object:Gem::Requirement
49
+ requirement: &6940140 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *6906140
57
+ version_requirements: *6940140
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: json
60
- requirement: &6905720 !ruby/object:Gem::Requirement
60
+ requirement: &6939720 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *6905720
68
+ version_requirements: *6939720
69
69
  description: This gem provides a base class and helpers for writing remotebackend
70
70
  servers for pipe/unix/. It is intended to make using remotebackend easier. For http
71
71
  support, see pdns-remotebackend-http.