riddl 0.99.164 → 0.99.166
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7494d6014d9695052b9f418118023b46a41f5df5
|
4
|
+
data.tar.gz: 569a3a767b3333f0791c8b393b9a9992316f2bca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f1f6c98ddbe9d190b2d55c9d55835029d73124f84a09b169c071bcfe9cf85a9d6a2192e9cd039950a15a93159b4e14908e9e278edd776c917528976ec22446d
|
7
|
+
data.tar.gz: 4306072b8bb92db673f629a3742966a9afb10d8341d8cf4f444ad9e2b94c3cf716c2757d01eb2654b8a07936df495ec57cf3684948705019a18004269472595a
|
data/lib/ruby/riddl/parameter.rb
CHANGED
@@ -21,11 +21,12 @@ module Riddl
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
class Complex
|
24
|
-
attr_reader :mimetype, :filename, :value, :type, :additional
|
24
|
+
attr_reader :mimetype, :filename, :value, :type, :additional, :mimextra
|
25
25
|
attr_accessor :name
|
26
26
|
def initialize(name,mimetype,file=nil,filename=nil,additional=[])
|
27
27
|
@name = name
|
28
|
-
@mimetype = mimetype.gsub(
|
28
|
+
@mimetype = mimetype.gsub(/(;.*)/,'')
|
29
|
+
@mimextra = $1 || ''
|
29
30
|
@filename = filename
|
30
31
|
@type = :body
|
31
32
|
@additional = additional
|
@@ -39,7 +39,7 @@ module Riddl
|
|
39
39
|
end
|
40
40
|
when Riddl::Parameter::Complex
|
41
41
|
tmp.write(r.value.respond_to?(:read) ? r.value.read : r.value)
|
42
|
-
@headers['Content-Type'] = r.mimetype
|
42
|
+
@headers['Content-Type'] = r.mimetype + r.mimextra
|
43
43
|
@headers['RIDDL-TYPE'] = 'complex'
|
44
44
|
if r.filename.nil?
|
45
45
|
@headers['Content-ID'] = r.name
|
@@ -92,7 +92,7 @@ module Riddl
|
|
92
92
|
tmp.write "Content-Disposition: #{mode == :input ? 'form-data' : 'riddl-data'}; name=\"#{r.name}\""
|
93
93
|
tmp.write r.filename.nil? ? EOL : "; filename=\"#{r.filename}\"" + EOL
|
94
94
|
tmp.write "Content-Transfer-Encoding: binary" + EOL
|
95
|
-
tmp.write "Content-Type: " + r.mimetype + EOL
|
95
|
+
tmp.write "Content-Type: " + r.mimetype + r.mimextra + EOL
|
96
96
|
tmp.write EOL
|
97
97
|
tmp.write(r.value.respond_to?(:read) ? r.value.read : r.value)
|
98
98
|
tmp.write EOL
|
@@ -102,7 +102,7 @@ module Riddl
|
|
102
102
|
n = @node.add('part')
|
103
103
|
n.namespaces.add(nil,XR_NS)
|
104
104
|
n.text = (r.value.respond_to?(:read) ? r.value.read : r.value)
|
105
|
-
n.attributes['content-type'] = r.mimetype
|
105
|
+
n.attributes['content-type'] = r.mimetype + r.mimextra
|
106
106
|
n.attributes['RIDDL-TYPE'] = 'complex'
|
107
107
|
if r.filename.nil?
|
108
108
|
n.attributes['content-id'] = r.name
|
@@ -153,7 +153,7 @@ module Riddl
|
|
153
153
|
n.attributes['RIDDL-TYPE'] = 'complex'
|
154
154
|
n.attributes['content-disposition'] = "#{mode == :input ? 'form-data' : 'riddl-data'}; name=\"#{r.name}\"#{r.filename.nil? ? '' : "; filename=\"#{r.filename}\""}"
|
155
155
|
n.attributes['content-transfer-encoding'] = 'binary'
|
156
|
-
n.attributes['content-type'] = r.mimetype
|
156
|
+
n.attributes['content-type'] = r.mimetype + r.mimextra
|
157
157
|
n.text = (r.value.respond_to?(:read) ? r.value.read : r.value)
|
158
158
|
end
|
159
159
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'mime/types'
|
2
|
+
require 'charlock_holmes'
|
2
3
|
require 'digest/md5'
|
3
4
|
|
4
5
|
module Riddl
|
@@ -21,7 +22,13 @@ module Riddl
|
|
21
22
|
@status = 304 # Not modified
|
22
23
|
return []
|
23
24
|
else
|
24
|
-
|
25
|
+
mt = MIME::Types.type_for(path).first
|
26
|
+
apx = ''
|
27
|
+
if mt.ascii?
|
28
|
+
tstr = File.read(path,CharlockHolmes::EncodingDetector::DEFAULT_BINARY_SCAN_LEN)
|
29
|
+
apx = ';charset=' + CharlockHolmes::EncodingDetector.detect(tstr)[:encoding]
|
30
|
+
end
|
31
|
+
return Riddl::Parameter::Complex.new('file',mt.to_s + apx,File.open(path,'r'))
|
25
32
|
end
|
26
33
|
end
|
27
34
|
@status = 404
|
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.166"
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
5
|
s.license = "LGPL-3"
|
6
6
|
s.summary = "restful interface description and declaration language: tools and client/server libs"
|
@@ -31,4 +31,5 @@ Gem::Specification.new do |s|
|
|
31
31
|
s.add_runtime_dependency 'mime-types'
|
32
32
|
s.add_runtime_dependency 'minitest', '>= 5.0.0'
|
33
33
|
s.add_runtime_dependency 'blather'
|
34
|
+
s.add_runtime_dependency 'charlock_holmes'
|
34
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.166
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
8
8
|
autorequire:
|
9
9
|
bindir: tools
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xml-smart
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: charlock_holmes
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
153
167
|
description: rest service interface definition, mixing, and evolution. supports mixed
|
154
168
|
http and xmpp servers.
|
155
169
|
email: juergen.mangler@gmail.com
|