riddl 0.99.259 → 0.99.260
Sign up to get free protection for your applications and to get access to all the features.
- 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
|