rack_dwsregistry 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/rack_dwsregistry.rb +86 -0
- metadata +107 -0
- metadata.gz.sig +3 -0
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