curb 1.0.5 → 1.0.6
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.markdown +14 -19
- data/ext/curb.h +3 -3
- data/ext/curb_easy.c +2 -6
- data/ext/extconf.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18ca81b9cb8fd33720ab17ba3eff9e9ae4fa1a10542feb60897ac94d7cd801ac
|
4
|
+
data.tar.gz: e8747cc63a63ca1561288dd9480b6c30c9dda0a371a6909eb1e2ad2a9a8b6947
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 112d4c34fd70b3b77a58e133b9c873d5ac7f850d2644fe02a9713771b47be636cfbc2c66b44bbf59e047cc84d83aa496c2e67cbfd8f2987509577589a87d20f0
|
7
|
+
data.tar.gz: a593f46d71b17af90cb9244ee7a92c133eca76024146d9097806f91ec70f34b4611988141063a7624fd51ea103d872495e1efa94b2b6d718ee0a700ca86ef325
|
data/README.markdown
CHANGED
@@ -37,18 +37,6 @@ POST request
|
|
37
37
|
puts res.body
|
38
38
|
```
|
39
39
|
|
40
|
-
PATCH request
|
41
|
-
```
|
42
|
-
res = Curl.patch("https://your-server.com/endpoint", {post: "this"}.to_json) {|http|
|
43
|
-
http.headers["Content-Type"] = "application/json"
|
44
|
-
}
|
45
|
-
puts res.code
|
46
|
-
puts res.head
|
47
|
-
puts res.body
|
48
|
-
```
|
49
|
-
|
50
|
-
|
51
|
-
|
52
40
|
## You will need
|
53
41
|
|
54
42
|
* A working Ruby installation (`2.0.0+` will work but `2.1+` preferred) (it's possible it still works with 1.8.7 but you'd have to tell me if not...)
|
@@ -64,7 +52,12 @@ tested and reported to work across a variety of platforms / rubies)
|
|
64
52
|
|
65
53
|
| Gem Version | Release Date | libcurl versions |
|
66
54
|
| ----------- | ----------- | ---------------- |
|
67
|
-
| 1.0.
|
55
|
+
| 1.0.5 | Jan 2023 | 7.58 - 7.87 |
|
56
|
+
| 1.0.4 | Jan 2023 | 7.58 - 7.87 |
|
57
|
+
| 1.0.3* | Dec 2022 | 7.58 - 7.87 |
|
58
|
+
| 1.0.2* | Dec 2022 | 7.58 - 7.87 |
|
59
|
+
| 1.0.1 | Apr 2022 | 7.58 - 7.87 |
|
60
|
+
| 1.0.0 | Jan 2022 | 7.58 - 7.87 |
|
68
61
|
| 0.9.8 | Jan 2019 | 7.58 - 7.81 |
|
69
62
|
| 0.9.7 | Nov 2018 | 7.56 - 7.60 |
|
70
63
|
| 0.9.6 | May 2018 | 7.51 - 7.59 |
|
@@ -72,6 +65,8 @@ tested and reported to work across a variety of platforms / rubies)
|
|
72
65
|
| 0.9.4 | Aug 2017 | 7.41 - 7.58 |
|
73
66
|
| 0.9.3 | Apr 2016 | 7.26 - 7.58 |
|
74
67
|
|
68
|
+
```*avoid using these version are known to have issues with segmentation faults```
|
69
|
+
|
75
70
|
## Installation...
|
76
71
|
|
77
72
|
... will usually be as simple as:
|
@@ -137,22 +132,22 @@ require 'curb'
|
|
137
132
|
|
138
133
|
```ruby
|
139
134
|
http = Curl.get("http://www.google.com/")
|
140
|
-
puts http.
|
135
|
+
puts http.body
|
141
136
|
|
142
137
|
http = Curl.post("http://www.google.com/", {:foo => "bar"})
|
143
|
-
puts http.
|
138
|
+
puts http.body
|
144
139
|
|
145
140
|
http = Curl.get("http://www.google.com/") do |http|
|
146
141
|
http.headers['Cookie'] = 'foo=1;bar=2'
|
147
142
|
end
|
148
|
-
puts http.
|
143
|
+
puts http.body
|
149
144
|
```
|
150
145
|
|
151
146
|
### Simple fetch via HTTP:
|
152
147
|
|
153
148
|
```ruby
|
154
149
|
c = Curl::Easy.perform("http://www.google.co.uk")
|
155
|
-
puts c.
|
150
|
+
puts c.body
|
156
151
|
```
|
157
152
|
|
158
153
|
Same thing, more manual:
|
@@ -160,13 +155,13 @@ Same thing, more manual:
|
|
160
155
|
```ruby
|
161
156
|
c = Curl::Easy.new("http://www.google.co.uk")
|
162
157
|
c.perform
|
163
|
-
puts c.
|
158
|
+
puts c.body
|
164
159
|
```
|
165
160
|
|
166
161
|
### Additional config:
|
167
162
|
|
168
163
|
```ruby
|
169
|
-
Curl::Easy.perform("http://www.google.co.uk") do |curl|
|
164
|
+
http = Curl::Easy.perform("http://www.google.co.uk") do |curl|
|
170
165
|
curl.headers["User-Agent"] = "myapp-0.0"
|
171
166
|
curl.verbose = true
|
172
167
|
end
|
data/ext/curb.h
CHANGED
@@ -28,11 +28,11 @@
|
|
28
28
|
#include "curb_macros.h"
|
29
29
|
|
30
30
|
// These should be managed from the Rake 'release' task.
|
31
|
-
#define CURB_VERSION "1.0.
|
32
|
-
#define CURB_VER_NUM
|
31
|
+
#define CURB_VERSION "1.0.6"
|
32
|
+
#define CURB_VER_NUM 1006
|
33
33
|
#define CURB_VER_MAJ 1
|
34
34
|
#define CURB_VER_MIN 0
|
35
|
-
#define CURB_VER_MIC
|
35
|
+
#define CURB_VER_MIC 6
|
36
36
|
#define CURB_VER_PATCH 0
|
37
37
|
|
38
38
|
|
data/ext/curb_easy.c
CHANGED
@@ -79,7 +79,7 @@ static size_t read_data_handler(void *ptr,
|
|
79
79
|
remaining = len - rbcu->offset;
|
80
80
|
str_ptr = RSTRING_PTR(str);
|
81
81
|
|
82
|
-
if( remaining
|
82
|
+
if( remaining <= read_bytes ) {
|
83
83
|
if( remaining > 0 ) {
|
84
84
|
memcpy(ptr, str_ptr+rbcu->offset, remaining);
|
85
85
|
read_bytes = remaining;
|
@@ -87,14 +87,10 @@ static size_t read_data_handler(void *ptr,
|
|
87
87
|
}
|
88
88
|
return remaining;
|
89
89
|
}
|
90
|
-
else
|
90
|
+
else { // read_bytes < remaining - send what we can fit in the buffer(ptr)
|
91
91
|
memcpy(ptr, str_ptr+rbcu->offset, read_bytes);
|
92
92
|
rbcu->offset += read_bytes;
|
93
93
|
}
|
94
|
-
else { // they're equal
|
95
|
-
memcpy(ptr, str_ptr+rbcu->offset, --read_bytes);
|
96
|
-
rbcu->offset += read_bytes;
|
97
|
-
}
|
98
94
|
return read_bytes;
|
99
95
|
}
|
100
96
|
else {
|
data/ext/extconf.rb
CHANGED
@@ -9,7 +9,7 @@ if find_executable('curl-config')
|
|
9
9
|
else
|
10
10
|
$LIBS << " #{`curl-config --libs`.strip}"
|
11
11
|
end
|
12
|
-
ca_bundle_path=`curl-config --ca`.strip
|
12
|
+
ca_bundle_path=`curl-config --ca`.strip.gsub(/^"([^"]+)"$/,'\1')
|
13
13
|
if !ca_bundle_path.nil? and ca_bundle_path != ''
|
14
14
|
$defs.push( %{-D HAVE_CURL_CONFIG_CA} )
|
15
15
|
$defs.push( %{-D CURL_CONFIG_CA='#{ca_bundle_path.inspect}'} )
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: curb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ross Bamford
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-08-23 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Curb (probably CUrl-RuBy or something) provides Ruby-language bindings
|
15
15
|
for the libcurl(3), a fully-featured client-side URL transfer library. cURL and
|
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '0'
|
100
100
|
requirements: []
|
101
|
-
rubygems_version: 3.
|
101
|
+
rubygems_version: 3.4.6
|
102
102
|
signing_key:
|
103
103
|
specification_version: 4
|
104
104
|
summary: Ruby libcurl bindings
|