rack_dwsregistry 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4e08cabd802d37d59078ba269fcae3ef9084970d
4
+ data.tar.gz: f1e6307c4eaab00ba047c3dbdc9e6ca4351522ca
5
+ SHA512:
6
+ metadata.gz: 686ef337b1fe4398c4bf2eba5ddf7785ff77c2f958b1fe53d43bdaa46352cb4dca8f89181f0fc8d249bb799cad99423cbaceda90bd8f684b649b6df039879c7b
7
+ data.tar.gz: 21d316a4a6f7086b8d2d17a3dd05427227d4c22860ae7cad325826c2340e3221a71b34f44fc8784677cdfc24b53a0b890369cdde96a8631c67e7a91751e6ca3a
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
@@ -0,0 +1,86 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: rack_dwsregistry.rb
4
+
5
+
6
+ require 'json'
7
+ require 'app-routes'
8
+ require 'dws-registry'
9
+
10
+
11
+ class RackDwsRegistry
12
+ include AppRoutes
13
+
14
+
15
+ def initialize(filename='registry.xml')
16
+
17
+ super() # required for app-routes initialize method to exectue
18
+ @reg = DWSRegistry.new(filename)
19
+
20
+ end
21
+
22
+ def call(env)
23
+
24
+ @env = env
25
+ request = env['REQUEST_URI'][/https?:\/\/[^\/]+(.*)/,1]
26
+
27
+ req = Rack::Request.new(env)
28
+
29
+ default_routes(env, req.params)
30
+ content, content_type = run_route(request, env['REQUEST_METHOD'])
31
+
32
+ error = $!
33
+
34
+ page_content, status_code = if error then
35
+ [error, 500]
36
+ elsif content.nil? then
37
+ ["404: page not found", 404]
38
+ else
39
+ [content, 200]
40
+ end
41
+
42
+ content_type ||= 'text/html'
43
+
44
+ [status_code, {"Content-Type" => content_type}, [page_content]]
45
+
46
+ end
47
+
48
+
49
+ protected
50
+
51
+ def default_routes(env, params={})
52
+
53
+ get '/hello' do |package,job|
54
+ Time.now.to_s + ': hello'
55
+ end
56
+
57
+ get /^\/(.*)\?/ do |key|
58
+
59
+ val = params['v']
60
+
61
+ begin
62
+ e = @reg.set_key(key, val)
63
+ rescue
64
+ [{set_key: ($!)}.to_json, 'application/json']
65
+ end
66
+
67
+ [e.xml, 'application/xml']
68
+
69
+ end
70
+
71
+ get /^\/(.*)$/ do |key|
72
+
73
+ e = @reg.get_key(key)
74
+
75
+ if e then
76
+ [e.xml, 'application/xml']
77
+ else
78
+ [{get_key: 'key not found'}.to_json, 'application/json']
79
+ end
80
+
81
+ end
82
+
83
+ end
84
+
85
+ end
86
+
metadata ADDED
@@ -0,0 +1,107 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rack_dwsregistry
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE2MDQyNTExMTIyN1oXDTE3MDQyNTExMTIyN1owSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAL/zj/dl6ncLNAeBnrjw6mQHruuKXvcTo5RDKKTN5wZeWIwGgYA4LQ/lV/5j
19
+ kHuQGy83ATBhjxb4sBbOcQKbBLUmHu5lYyUGGtgiuVIIfrMGU1Ae6yyMAJ79UKZl
20
+ RXd5T2kCfZO82cMPAjgJWWzMxtdGUGtXt7B8572kiihFkv7Ts+7K0x+SzE6p5Bld
21
+ /vDHRfgGYK2UVSTnpvFBANqUNVoKPGrMGld3sqBjgE7deqn/McpcAUtlXd5uRxLz
22
+ +M+PThnqzZhvktz49c+BQflHMT5LbfEQaaRwlQk0M7gOfkLZZ4gSsjuUk/SSDmnd
23
+ 5PLn7OMQAIAJOabt2paFjwBDVgsCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQU3m8Kj1uMoxhB09FpAcoz5cMbeywwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEApNT63c5i
27
+ u6af96xbOwKUx8ezmpA/ANw9ija8PuB6UWcrwL4V5XQZZvCNQSc/11wrkaDzXQId
28
+ yi0Sj+qWHWpE37qoXoGPhfefv25LHWdzYy/0sDuwcozuKx2nzd7IISjOJWsfuZFw
29
+ kCtkxwIJVsaf7KrcpgmwfnOx3ZzKxMribhBA1Qin1k8hbJS19QLnIEauYwsXdqDo
30
+ 0q7AyA/azxLdl1SdLsDiWC4T+kyYNt2qDR2+e/XBrbYNFUu4UFQlxUC4fjcE8mQe
31
+ 9vQ5imvzK3l3JOAiHt6LLu2qJG5lTlmz1ku//St+TtMJDGc6ODmuEUkDv0pK9lSV
32
+ /uKXP19xM99uGQ==
33
+ -----END CERTIFICATE-----
34
+ date: 2016-04-25 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: app-routes
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.1'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.1.18
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.1'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.1.18
56
+ - !ruby/object:Gem::Dependency
57
+ name: dws-registry
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.3'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 0.3.3
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.3'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.3.3
76
+ description:
77
+ email: james@r0bertson.co.uk
78
+ executables: []
79
+ extensions: []
80
+ extra_rdoc_files: []
81
+ files:
82
+ - lib/rack_dwsregistry.rb
83
+ homepage: https://github.com/jrobertson/rack_dwsregistry
84
+ licenses:
85
+ - MIT
86
+ metadata: {}
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.4.8
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: rack_dwsregistry
107
+ test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1,3 @@
1
+ ���O$~�2e�Ȯ�
2
+ �˥~���K��*����2އK�2�n+P%fŒ��;�+�ޖ�u8���ͻm�z�L��� ���e��p�&��� �*C��g
3
+ ��6HQ7�x�a4k��n�