riddl 0.117 → 0.119

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6338f9c8066488b4ae5e361f2d39ac514c8b7e2a81daa9a723cf0c7ebdc899a8
4
- data.tar.gz: a1c803128b7695ed590970c53534542f39ffaf948750f64c5f4d5faa8c84023c
3
+ metadata.gz: f3dedc8b0cb28306e10d9bf69403c7a8e4c1e0101060070b5847b66d58e2b722
4
+ data.tar.gz: 4ecde45979b650bd571d79fb05a539370c6019cf2db50761f9a251a5d96f83e2
5
5
  SHA512:
6
- metadata.gz: 997620d70200a2952bf334899c83f8436749ec765873fc0fa774e7268bf9b2aba4c451f4f1ec86f959e9bc5b5269b025a73a9bc8e06cbc7a6274b9b32e8cb487
7
- data.tar.gz: 87f8887a0baf08ac5074f6abcc3530e06853a87dab472dee998e4d4621c4732a2be183b66f0bc013828dd37eeb13055b02ef74fdda342071ab9009cdd7d2787e
6
+ metadata.gz: 57c4af96b9857b1196f1abb9ccbee5e1b56fbfe58753554c47df13ba1e42594a8c58038fc92280365667a1b2ef12f460ac09eb9712a700036eab53c2d370d03c
7
+ data.tar.gz: 3275e26d5d59fb90c2ad1088e8d3ec79508a31ce141a117bf6a38992ad8c2bc8d9754fa640d62db118857bc0dc00e6c5bba97c5d054940d5def71320d0fd9e02
@@ -19,9 +19,13 @@ module Riddl
19
19
  elsif @params.is_a?(Array) && @params.length > 1
20
20
  multipart(mode)
21
21
  else
22
- @headers['Content-Type'] = 'text/plain'
23
- StringIO.new('','r+b')
24
- end
22
+ if mode == :output
23
+ @headers['Content-Type'] = 'text/plain'
24
+ StringIO.new('','r+b')
25
+ else
26
+ StringIO.new('','r+b')
27
+ end
28
+ end
25
29
  end
26
30
 
27
31
  def body(r,mode)
@@ -46,7 +50,7 @@ module Riddl
46
50
  @headers['Content-ID'] = r.name
47
51
  else
48
52
  @headers['Content-Disposition'] = "riddl-data; name=\"#{r.name}\"; filename=\"#{r.filename}\""
49
- end
53
+ end
50
54
  end
51
55
  tmp.flush
52
56
  tmp.rewind
@@ -63,7 +67,7 @@ module Riddl
63
67
  scount += 1
64
68
  when Riddl::Parameter::Complex
65
69
  ccount += 1
66
- end
70
+ end
67
71
  end
68
72
  if scount > 0 && ccount == 0
69
73
  @headers['Content-Type'] = 'application/x-www-form-urlencoded'
@@ -72,7 +76,7 @@ module Riddl
72
76
  case r
73
77
  when Riddl::Parameter::Simple
74
78
  res << Riddl::Protocols::Utils::escape(r.name) + '=' + Riddl::Protocols::Utils::escape(r.value)
75
- end
79
+ end
76
80
  end
77
81
  tmp.write res.join('&')
78
82
  else
@@ -97,7 +101,7 @@ module Riddl
97
101
  tmp.write EOL
98
102
  tmp.write(r.value.respond_to?(:read) ? r.value.read : r.value)
99
103
  tmp.write EOL
100
- end
104
+ end
101
105
  end
102
106
  tmp.write "--" + BOUNDARY + EOL
103
107
  end
@@ -107,8 +111,8 @@ module Riddl
107
111
  tmp
108
112
  end
109
113
  private :multipart
110
-
114
+
111
115
  end
112
116
  end
113
117
  end
114
- end
118
+ end
@@ -57,7 +57,7 @@ module Riddl
57
57
  block.each do |bl|
58
58
  bpath = bl.to_s.gsub(/\/+/,'/').gsub(/\/$/,'')
59
59
  bpath = (bpath == "" ? "/" : bpath)
60
- if path == bpath
60
+ if interface.sub == bpath
61
61
  res.remove_access_methods(des,bl.attributes,index)
62
62
  end
63
63
  end
@@ -67,6 +67,11 @@ module Riddl
67
67
 
68
68
  def compose!(res=@base_path)
69
69
  #{{{
70
+ # delete empty resources
71
+ res.resources.delete_if do |k,r|
72
+ r.access_methods.length == 0
73
+ end
74
+ # compose
70
75
  res.compose!
71
76
  res.resources.each do |k,r|
72
77
  compose!(r)
@@ -75,6 +75,8 @@ module Riddl
75
75
  [RequestTransformation,Riddl::Wrapper::Description::Transformation.new(des,filter['transformation'])]
76
76
  elsif filter['pass'] && filter['pass'] == '*'
77
77
  [RequestPass]
78
+ elsif filter['method'] == 'sse'
79
+ [SSE]
78
80
  end
79
81
  raise BlockError, "blocking #{filter.inspect} not possible" if freq.nil?
80
82
 
@@ -95,10 +97,19 @@ module Riddl
95
97
  true if freq[1] && freq[1].hash == req.trans.hash
96
98
  elsif req.class == RequestPass
97
99
  true
100
+ elsif req.class == SSE
101
+ true
98
102
  end
99
103
  end
100
104
  end
101
105
  end
106
+ if @access_methods[filter['method']][index].empty?
107
+ @access_methods[filter['method']].delete_at(index)
108
+ end
109
+ @access_methods[filter['method']].compact!
110
+ if @access_methods[filter['method']].length == 0
111
+ @access_methods.delete(filter['method'])
112
+ end
102
113
  #}}}
103
114
  end
104
115
 
data/riddl.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "riddl"
3
- s.version = "0.117"
3
+ s.version = "0.119"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "restful interface description and declaration language: tools and client/server libs"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riddl
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.117'
4
+ version: '0.119'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen 'eTM' Mangler
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: tools
12
12
  cert_chain: []
13
- date: 2021-10-12 00:00:00.000000000 Z
13
+ date: 2022-11-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: daemonite
@@ -548,7 +548,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
548
548
  - !ruby/object:Gem::Version
549
549
  version: '0'
550
550
  requirements: []
551
- rubygems_version: 3.2.22
551
+ rubygems_version: 3.3.7
552
552
  signing_key:
553
553
  specification_version: 4
554
554
  summary: 'restful interface description and declaration language: tools and client/server