curlyrest 0.1.21 → 0.1.22
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/README.md +2 -1
- data/lib/curlyrest/version.rb +1 -1
- data/lib/curlyrest.rb +12 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5876f26582f2147488307418ca6a1b6eab058807
|
4
|
+
data.tar.gz: f2cacd52f9b75775f35f3b7e147dd9bc5ab48f38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7d97bd204e1442cabfdedba056ac6890664c60a1e056db104c496c9b2ace5b98b3d396ad6f3c62c432b0902a7e5408e6bc01aee98c59be9aad2929a04ceaeb0
|
7
|
+
data.tar.gz: 819443b20968f6faf02744db09cc8d60fec067a1a59316e3e5fbb9adb4d3c9f6fb849618e5e0c53d5c327952d257c5ecb8940ad353fc2b1f1d5f37f4e9c544e8
|
data/README.md
CHANGED
@@ -20,7 +20,8 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
Simply replace your use of require 'rest-client' with require 'curlyrest', and optionally add header
|
23
|
+
Simply replace your use of require 'rest-client' with require 'curlyrest', and optionally add header of :use_curl with true or 'debug' which will cause the request to be executed with curl and response parsed to be compatable with rest-client.
|
24
|
+
Environment variable `FORCE_CURL_DEBUG` will cause all API calls to be executed and debugged with curl.
|
24
25
|
|
25
26
|
## Development
|
26
27
|
|
data/lib/curlyrest/version.rb
CHANGED
data/lib/curlyrest.rb
CHANGED
@@ -9,7 +9,7 @@ module Curlyrest
|
|
9
9
|
include Net::HTTPHeader
|
10
10
|
attr_reader :code, :http_version, :message, :headers
|
11
11
|
attr_accessor :body, :inflate
|
12
|
-
def initialize(http_version, status, message='')
|
12
|
+
def initialize(http_version, status, message = '')
|
13
13
|
@message = message
|
14
14
|
@http_version = http_version
|
15
15
|
@code = status
|
@@ -49,7 +49,7 @@ module Curlyrest
|
|
49
49
|
re = %r{^HTTP\/(\d+|\d+\.\d+)\s(\d+)\s*(.*)$}
|
50
50
|
return unless re.match(line.chop)
|
51
51
|
r = Regexp.last_match(2)
|
52
|
-
return if r
|
52
|
+
return if r && r == '100'
|
53
53
|
@state = :headers
|
54
54
|
@response = CurlResponse.new(Regexp.last_match(1),
|
55
55
|
Regexp.last_match(2),
|
@@ -62,7 +62,7 @@ module Curlyrest
|
|
62
62
|
@response[key] << value
|
63
63
|
else
|
64
64
|
@response[key] = [@response[key], value]
|
65
|
-
|
65
|
+
end
|
66
66
|
else
|
67
67
|
@response[key] = value
|
68
68
|
end
|
@@ -130,13 +130,19 @@ module Curlyrest
|
|
130
130
|
@line = "curl -isS -X #{@method.upcase}#{curl_proxy(@options[:proxy])}"\
|
131
131
|
"#{curl_headers(@headers)}'#{@uri}' -d '#{curl_data(@payload)}'"
|
132
132
|
end
|
133
|
+
|
134
|
+
def exec_curl
|
135
|
+
debug = options[:curl] == 'debug' || ENV['FORCE_CURL_DEBUG']
|
136
|
+
puts line if debug
|
137
|
+
r = `#{line}`
|
138
|
+
puts r if debug
|
139
|
+
r
|
140
|
+
end
|
133
141
|
end
|
134
142
|
|
135
143
|
def curl_transmit(uri, method, headers, payload)
|
136
144
|
ct = CurlTransmitter.new(uri, method, headers, payload)
|
137
|
-
|
138
|
-
r = `#{ct.line}`
|
139
|
-
puts r if ct.options[:curl] == 'debug'
|
145
|
+
r = ct.exec_curl
|
140
146
|
CurlResponseParser.new(r).response
|
141
147
|
end
|
142
148
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: curlyrest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|