riddl 0.101.24 → 0.101.26

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: d8146e33ab4394adfcca6eb52a85976fcabe760c92d1fe6ed427896cf8d57851
4
- data.tar.gz: e5bc04599b3ab8d652d215844236e025c6a12f3db32e5e08182bc05554f39ca5
3
+ metadata.gz: 8b0c69ed74aacd5d1e986311d0d84934c91a66e59224d6d3a0e3971a5397d411
4
+ data.tar.gz: fe9e202e7b2f42d8561e0eb0946254c4d9f9a5a6adf3d1dd1e9fe724968609be
5
5
  SHA512:
6
- metadata.gz: c2d6c172ebefae37bec3811baa828e6f58c2306920752a0ddd7ef614641a205609f40cf7310157e47785797dff4c6560d9b54595f765fd83fe490d2253ae3967
7
- data.tar.gz: 37f5ff14b5263614f184d803b0eb613208d7f8d1eafd4c9bde080c9946017a19f9719832f1218921745a85d894ca5c92e76370e9f818b8be3ebe6de73f28237b
6
+ metadata.gz: 5969e8231531f20da2e5df34d3bb46043df109331bcd0ca4533ff4ed02cd0195cc733f89bff56c8525f22dc794a7d806676b8d8de02ab97a6c0cd0f8d0f32758
7
+ data.tar.gz: 10a8c256399af36f642ca6ecfdd3bbc2ad054bb2295999cfde8a9e9602f3eb7d11d57db8cebeb011858e1a5290bf115a29c4fb9547aa008f2fceaf0453dcd105
@@ -2,9 +2,7 @@
2
2
  <description xmlns="http://riddl.org/ns/description/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
3
  <message name="hello">
4
4
  <parameter name="return" mimetype="text/plain" handler="http://riddl.org/ns/handlers/plain-type">
5
- <plain type="string">
6
- <param name="pattern">hello .+</param>
7
- </plain>
5
+ <pattern>hello .+</pattern>
8
6
  </parameter>
9
7
  </message>
10
8
  <message name="hello-form">
@@ -2,9 +2,7 @@
2
2
 
3
3
  <message name="hello">
4
4
  <parameter name="return" mimetype="text/plain" handler="http://riddl.org/ns/handlers/plain-type">
5
- <plain type="string">
6
- <param name="pattern">hello .+</param>
7
- </plain>
5
+ <pattern>hello .+</pattern>
8
6
  </parameter>
9
7
  </message>
10
8
  <message name="hello-form">
@@ -22,15 +20,15 @@
22
20
  <parameter name="type" type="string">
23
21
  <choice>
24
22
  <value>html</value>
25
- </choice>
26
- </parameter>
23
+ </choice>
24
+ </parameter>
27
25
  </message>
28
26
 
29
27
  <resource>
30
28
  <post in="hello"/>
31
29
  <post in="hello-form"/>
32
30
  <get in="*" out="hello-form"/>
33
- <get in="type-html" out="hello-list-html"/>
31
+ <get in="type-html" out="hello-list-html"/>
34
32
  <resource>
35
33
  <get in="*" out="hello"/>
36
34
  <put in="hello" out="hello"/>
@@ -43,5 +41,5 @@
43
41
  <post in="hello"/>
44
42
  </resource>
45
43
  </resource>
46
-
44
+
47
45
  </description>
@@ -4,7 +4,7 @@
4
4
  <!--header name="Library" type="positiveInteger"/-->
5
5
  <oneOrMore>
6
6
  <parameter name="author" type="string"/>
7
- </oneOrMore>
7
+ </oneOrMore>
8
8
  <parameter name="title" type="string"/>
9
9
  </message>
10
10
  <message name="list-of-books">
@@ -13,9 +13,9 @@
13
13
  </parameter>
14
14
  </message>
15
15
  <message name="book-description-form">
16
- <oneOrMore>
16
+ <oneOrMore>
17
17
  <parameter name="author" type="string"/>
18
- </oneOrMore>
18
+ </oneOrMore>
19
19
  <parameter name="title" type="string"/>
20
20
  </message>
21
21
  <message name="book-description">
@@ -25,7 +25,7 @@
25
25
  </message>
26
26
  <message name="book-id">
27
27
  <parameter name="book-id" mimetype="text/plain" handler="http://riddl.org/ns/handlers/plain-type">
28
- <plain type="positiveInteger"/>
28
+ <pattern>\d+</pattern>
29
29
  </parameter>
30
30
  </message>
31
31
 
@@ -75,6 +75,6 @@
75
75
  <resource relative="about">
76
76
  <get in="*" out="main-output"/>
77
77
  </resource>
78
- </resource>
78
+ </resource>
79
79
 
80
80
  </description>
@@ -4,18 +4,19 @@ module Riddl
4
4
  def self::handle(what,hinfo)
5
5
  if what.class == Riddl::Parameter::Tempfile
6
6
  w = what.read
7
- else
7
+ else
8
8
  w = what
9
- end
9
+ end
10
10
  begin
11
- re = Regexp.new(hinfo)
12
- rescue
11
+ hi = XML::Smart::string(hinfo)
12
+ re = Regexp.new(hi.root.text)
13
+ rescue => e
13
14
  return false
14
15
  end
15
16
  w =~ re
16
17
  end
17
18
  end
18
- end
19
- end
19
+ end
20
+ end
20
21
 
21
22
  Riddl::Handlers::add("http://riddl.org/ns/handlers/plain-type",Riddl::Handlers::PlainType)
@@ -30,18 +30,18 @@
30
30
  </message>
31
31
 
32
32
  <message name="acknowledgment">
33
- <optional>
34
- <choice>
35
- <parameter name="continue" type="string">
36
- <choice>
37
- <value>true</value>
38
- <value>false</value>
39
- <value>callback</value>
40
- </choice>
41
- </parameter>
42
- <parameter name="continue" mimetype="text/plain"/>
43
- </choice>
44
- </optional>
33
+ <choice>
34
+ <parameter name="continue" type="string">
35
+ <choice>
36
+ <value>true</value>
37
+ <value>false</value>
38
+ <value>callback</value>
39
+ </choice>
40
+ </parameter>
41
+ <parameter name="continue" mimetype="text/plain" handler="http://riddl.org/ns/handlers/plain-type">
42
+ <pattern>^(true|false|callback)$</pattern>
43
+ </parameter>
44
+ </choice>
45
45
  </message>
46
46
 
47
47
  <resource pattern="http://riddl.org/ns/common-patterns/notifications-consumer/2.0">
@@ -34,9 +34,16 @@ module Riddl
34
34
  body = ''
35
35
  end
36
36
 
37
- if content_length == 0 && name == ''
37
+ if content_length == 0
38
+ bufsize = 16384
39
+ until input.eof?
40
+ c = input.read(bufsize)
41
+ raise EOFError, "bad content body" if c.nil? || c.empty?
42
+ body << c
43
+ content_length -= c.size
44
+ end
38
45
  body << input.read
39
- else
46
+ else
40
47
  bufsize = 16384
41
48
  until content_length <= 0
42
49
  c = input.read(bufsize < content_length ? bufsize : content_length)
@@ -131,7 +138,7 @@ module Riddl
131
138
  @params << Parameter::Complex.new(name, ctype, body, filename, head)
132
139
  elsif !filename && ctype
133
140
  body.rewind
134
-
141
+
135
142
  # Generic multipart cases, not coming from a form
136
143
  @params << Parameter::Complex.new(name, ctype, body, nil, head)
137
144
  else
@@ -170,7 +177,7 @@ module Riddl
170
177
  elsif FORM_CONTENT_TYPES.include?(media_type)
171
178
  # sub is a fix for Safari Ajax postings that always append \0
172
179
  parse_nested_query(input.read.sub(/\0\z/, ''),:body)
173
- else
180
+ else
174
181
  parse_content(input,content_type,content_length.to_i,content_disposition||'',content_id||'',riddl_type||'')
175
182
  end
176
183
 
@@ -187,4 +194,4 @@ module Riddl
187
194
  end
188
195
  end
189
196
  end
190
- end
197
+ end
@@ -30,18 +30,18 @@
30
30
  </message>
31
31
 
32
32
  <message name="acknowledgment">
33
- <optional>
34
- <choice>
35
- <parameter name="continue" type="string">
36
- <choice>
37
- <value>true</value>
38
- <value>false</value>
39
- <value>callback</value>
40
- </choice>
41
- </parameter>
42
- <parameter name="continue" mimetype="text/plain"/>
43
- </choice>
44
- </optional>
33
+ <choice>
34
+ <parameter name="continue" type="string">
35
+ <choice>
36
+ <value>true</value>
37
+ <value>false</value>
38
+ <value>callback</value>
39
+ </choice>
40
+ </parameter>
41
+ <parameter name="continue" mimetype="text/plain" handler="http://riddl.org/ns/handlers/plain-type">
42
+ <pattern>^(true|false|callback)$</pattern>
43
+ </parameter>
44
+ </choice>
45
45
  </message>
46
46
 
47
47
  <resource pattern="http://riddl.org/ns/common-patterns/notifications-consumer/2.0">
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "riddl"
3
- s.version = "0.101.24"
3
+ s.version = "0.101.26"
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.101.24
4
+ version: 0.101.26
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: 2020-09-30 00:00:00.000000000 Z
13
+ date: 2020-10-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: daemonite