riddl 0.99.259 → 0.99.260
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 +4 -4
- data/examples/client/password, +0 -0
- data/examples/client/{client.rb → test1.rb} +2 -2
- data/examples/client/test2.rb +10 -0
- data/examples/client/test3.rb +16 -0
- data/examples/client/username, +0 -0
- data/lib/ruby/riddl/client.rb +42 -45
- data/riddl.gemspec +2 -1
- metadata +21 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a3826c3cbdc75fe88d6d8d1635127c693a6f61e4
|
|
4
|
+
data.tar.gz: 8651dcd9448e6ca7d2bb0e49124271ec05785cbc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0730b16245a088f76fdd2e28a3be7b23212e3ed542f22e036c2389d3bcb62b71e33f7202906eca78666089c0782840d7cd8224ff053e8c3a635469da4cbc160a
|
|
7
|
+
data.tar.gz: 79b3c5132e86b5f584e2766e98b4a8e67ba6b38bbe38ef4f0a64d474945b46f5a7f4edee28370b91457c6afb0eb638754da50468f14aca5075f74264c7a70ac5
|
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
require '../../lib/ruby/riddl/client'
|
|
3
3
|
require 'pp'
|
|
4
4
|
|
|
5
|
-
library = Riddl::Client.new("http://
|
|
5
|
+
library = Riddl::Client.new("http://demo.wst.univie.ac.at/services/delay.php")
|
|
6
6
|
status, res = library.post [
|
|
7
7
|
Riddl::Parameter::Simple.new("delay","10"),
|
|
8
8
|
]
|
|
@@ -14,4 +14,4 @@ p id
|
|
|
14
14
|
pp status
|
|
15
15
|
pp res[0]
|
|
16
16
|
sleep 1
|
|
17
|
-
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
require '../../lib/ruby/riddl/client'
|
|
3
|
+
#require 'riddl/client'
|
|
4
|
+
require 'pp'
|
|
5
|
+
|
|
6
|
+
uri = 'http://gruppe.wst.univie.ac.at/~mangler/services/oebb.php?_taetigkeiten=taetigkeiten.txt&strategie=IS1&_schaedigungen=schaedigungen.txt'
|
|
7
|
+
|
|
8
|
+
s = Time.now
|
|
9
|
+
library = Riddl::Client.new(uri)
|
|
10
|
+
status, res = library.post [
|
|
11
|
+
Riddl::Parameter::Simple.new("delay","10")
|
|
12
|
+
]
|
|
13
|
+
p status
|
|
14
|
+
puts res[0].value.read
|
|
15
|
+
puts Time.now-s
|
|
16
|
+
|
|
File without changes
|
data/lib/ruby/riddl/client.rb
CHANGED
|
@@ -6,7 +6,7 @@ require File.expand_path(File.dirname(__FILE__) + '/protocols/utils')
|
|
|
6
6
|
require File.expand_path(File.dirname(__FILE__) + '/header')
|
|
7
7
|
require File.expand_path(File.dirname(__FILE__) + '/option')
|
|
8
8
|
|
|
9
|
-
require '
|
|
9
|
+
require 'typhoeus'
|
|
10
10
|
require 'eventmachine'
|
|
11
11
|
require 'em-websocket-client'
|
|
12
12
|
require 'uri'
|
|
@@ -241,7 +241,7 @@ unless Module.constants.include?('CLIENT_INCLUDED')
|
|
|
241
241
|
starting = true
|
|
242
242
|
parameters.delete_if do |p|
|
|
243
243
|
if starting && p.class == Riddl::Parameter::Simple && method == 'get'
|
|
244
|
-
|
|
244
|
+
p.type = :query
|
|
245
245
|
end
|
|
246
246
|
if p.class == Riddl::Parameter::Simple && p.type == :query
|
|
247
247
|
qparams << Protocols::Utils::escape(p.name) + (p.value.nil? ? '' : '=' + Protocols::Utils::escape(p.value))
|
|
@@ -336,54 +336,55 @@ unless Module.constants.include?('CLIENT_INCLUDED')
|
|
|
336
336
|
qs = qparams.join('&')
|
|
337
337
|
if url.class == URI::HTTP || url.class == URI::HTTPS
|
|
338
338
|
#{{{
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
339
|
+
return Riddl::Client::HTTPRequest.new(riddl_method,url.path,parameters,headers,qs).simulate if simulate
|
|
340
|
+
|
|
341
|
+
path = (url.path.strip == '' ? '/' : url.path)
|
|
342
|
+
path += "?#{qs}" unless qs == ''
|
|
343
|
+
uri = url.scheme + '://' + url.host + ':' + url.port.to_s + path
|
|
344
|
+
|
|
345
|
+
tmp = Protocols::HTTP::Generator.new(parameters,headers).generate(:input)
|
|
346
|
+
|
|
347
|
+
opts = {
|
|
348
|
+
:method => riddl_method,
|
|
349
|
+
:headers => headers,
|
|
350
|
+
:body => tmp.read,
|
|
351
|
+
:ssl_verifypeer => false
|
|
352
|
+
}
|
|
353
|
+
if url.user && url.password
|
|
354
|
+
opts[:username] = url.user
|
|
355
|
+
opts[:password] = url.password
|
|
356
|
+
opts[:httpauth] = :auto
|
|
348
357
|
end
|
|
349
358
|
if @options[:debug]
|
|
350
|
-
|
|
351
|
-
end
|
|
352
|
-
http.start do
|
|
353
|
-
retrycount = 0
|
|
354
|
-
begin
|
|
355
|
-
http.request(req) do |resp|
|
|
356
|
-
res = resp
|
|
357
|
-
bs = Parameter::Tempfile.new("RiddlBody")
|
|
358
|
-
res.read_body(bs)
|
|
359
|
-
bs.rewind
|
|
360
|
-
response = Riddl::Protocols::HTTP::Parser.new(
|
|
361
|
-
"",
|
|
362
|
-
bs,
|
|
363
|
-
res['CONTENT-TYPE'],
|
|
364
|
-
res['CONTENT-LENGTH'].to_i != bs.length ? 0 : res['CONTENT-LENGTH'], # because when gzip content length differs from bs length
|
|
365
|
-
res['CONTENT-DISPOSITION'],
|
|
366
|
-
res['CONTENT-ID'],
|
|
367
|
-
res['RIDDL-TYPE']
|
|
368
|
-
).params
|
|
369
|
-
end
|
|
370
|
-
rescue => e
|
|
371
|
-
retrycount += 1
|
|
372
|
-
if retrycount < 4
|
|
373
|
-
retry
|
|
374
|
-
else
|
|
375
|
-
raise Riddl::ConnectionError, "#{url.host}:#{url.port}/#{url.path} not reachable - #{e.message}."
|
|
376
|
-
end
|
|
377
|
-
end
|
|
359
|
+
opts[:verbose] = true ### sadly only to console, does not respect @options[:debug]
|
|
378
360
|
end
|
|
361
|
+
|
|
362
|
+
req = Typhoeus::Request.new(uri,opts)
|
|
363
|
+
res = req.run
|
|
364
|
+
|
|
365
|
+
bs = Parameter::Tempfile.new("RiddlBody")
|
|
366
|
+
bs.write res.body
|
|
367
|
+
bs.rewind
|
|
368
|
+
|
|
379
369
|
response_headers = {}
|
|
380
|
-
res.each do |k,v|
|
|
370
|
+
res.headers.each do |k,v|
|
|
381
371
|
if v.nil?
|
|
382
372
|
response_headers[k.name.upcase.gsub(/\-/,'_')] = v
|
|
383
373
|
else
|
|
384
374
|
response_headers[k.upcase.gsub(/\-/,'_')] = v
|
|
385
375
|
end
|
|
386
376
|
end
|
|
377
|
+
|
|
378
|
+
response = Riddl::Protocols::HTTP::Parser.new(
|
|
379
|
+
"",
|
|
380
|
+
bs,
|
|
381
|
+
response_headers['CONTENT_TYPE'],
|
|
382
|
+
response_headers['CONTENT_LENGTH'].to_i != bs.length ? 0 : response_headers['CONTENT_LENGTH'], # because when gzip content length differs from bs length
|
|
383
|
+
response_headers['CONTENT_DISPOSITION'],
|
|
384
|
+
response_headers['CONTENT_ID'],
|
|
385
|
+
response_headers['RIDDL_TYPE']
|
|
386
|
+
).params
|
|
387
|
+
|
|
387
388
|
return res.code.to_i, response, response_headers
|
|
388
389
|
#}}}
|
|
389
390
|
else
|
|
@@ -397,7 +398,7 @@ unless Module.constants.include?('CLIENT_INCLUDED')
|
|
|
397
398
|
|
|
398
399
|
end #}}}
|
|
399
400
|
|
|
400
|
-
class HTTPRequest
|
|
401
|
+
class HTTPRequest #{{{
|
|
401
402
|
def initialize(method, path, parameters, headers, qs)
|
|
402
403
|
path = (path.strip == '' ? '/' : path)
|
|
403
404
|
path += "?#{qs}" unless qs == ''
|
|
@@ -407,10 +408,6 @@ unless Module.constants.include?('CLIENT_INCLUDED')
|
|
|
407
408
|
self.body_stream = tmp
|
|
408
409
|
end
|
|
409
410
|
|
|
410
|
-
def supply_default_content_type
|
|
411
|
-
### none, Protocols::HTTP::Generator handles this
|
|
412
|
-
end
|
|
413
|
-
|
|
414
411
|
def simulate
|
|
415
412
|
sock = StringIO.new('')
|
|
416
413
|
sock.define_singleton_method(:io) do
|
data/riddl.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "riddl"
|
|
3
|
-
s.version = "0.99.
|
|
3
|
+
s.version = "0.99.260"
|
|
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"
|
|
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
|
|
|
23
23
|
|
|
24
24
|
s.required_ruby_version = '>=2.2.0'
|
|
25
25
|
|
|
26
|
+
s.add_runtime_dependency 'typhoeus', '~>1.3'
|
|
26
27
|
s.add_runtime_dependency 'xml-smart', '>=0.3.6', '~>0'
|
|
27
28
|
s.add_runtime_dependency 'rdf-smart', '>=0.0.160', '~>0'
|
|
28
29
|
s.add_runtime_dependency 'rack', '~>1.6'
|
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.99.
|
|
4
|
+
version: 0.99.260
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen 'eTM' Mangler
|
|
@@ -10,8 +10,22 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: tools
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2018-01-
|
|
13
|
+
date: 2018-01-25 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
16
|
+
name: typhoeus
|
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
|
18
|
+
requirements:
|
|
19
|
+
- - "~>"
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '1.3'
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
requirements:
|
|
26
|
+
- - "~>"
|
|
27
|
+
- !ruby/object:Gem::Version
|
|
28
|
+
version: '1.3'
|
|
15
29
|
- !ruby/object:Gem::Dependency
|
|
16
30
|
name: xml-smart
|
|
17
31
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -239,7 +253,11 @@ files:
|
|
|
239
253
|
- contrib/riddl.jpg
|
|
240
254
|
- contrib/riddl.png
|
|
241
255
|
- contrib/riddl.svg
|
|
242
|
-
- examples/client/
|
|
256
|
+
- examples/client/password,
|
|
257
|
+
- examples/client/test1.rb
|
|
258
|
+
- examples/client/test2.rb
|
|
259
|
+
- examples/client/test3.rb
|
|
260
|
+
- examples/client/username,
|
|
243
261
|
- examples/declaration-server-distributed/README
|
|
244
262
|
- examples/declaration-server-distributed/declaration.rb
|
|
245
263
|
- examples/declaration-server-distributed/declaration.xml
|