curb 1.0.9 → 1.2.0
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 → README.md} +7 -1
- data/ext/curb.c +6 -4
- data/ext/curb.h +4 -4
- data/ext/curb_easy.c +117 -7
- data/ext/curb_multi.c +497 -15
- data/ext/curb_postfield.c +6 -0
- data/ext/curb_upload.c +3 -0
- data/ext/extconf.rb +217 -17
- data/lib/curl.rb +0 -1
- data/tests/bug_issue_noproxy.rb +56 -0
- data/tests/bug_issue_post_redirect.rb +93 -0
- data/tests/bug_issue_spnego.rb +41 -0
- data/tests/helper.rb +34 -0
- data/tests/mem_check.rb +3 -0
- data/tests/tc_curl_download.rb +2 -1
- data/tests/tc_curl_easy.rb +86 -14
- data/tests/tc_curl_multi.rb +21 -0
- data/tests/tc_fiber_scheduler.rb +190 -0
- data/tests/test_basic.rb +29 -0
- data/tests/test_fiber_debug.rb +69 -0
- data/tests/test_fiber_simple.rb +65 -0
- data/tests/test_real_url.rb +65 -0
- data/tests/test_simple_fiber.rb +34 -0
- metadata +24 -8
- data/tests/bug_issue277.rb +0 -32
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: curb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ross Bamford
|
8
8
|
- Todd A. Fisher
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Curb (probably CUrl-RuBy or something) provides Ruby-language bindings
|
14
14
|
for the libcurl(3), a fully-featured client-side URL transfer library. cURL and
|
@@ -19,10 +19,10 @@ extensions:
|
|
19
19
|
- ext/extconf.rb
|
20
20
|
extra_rdoc_files:
|
21
21
|
- LICENSE
|
22
|
-
- README.
|
22
|
+
- README.md
|
23
23
|
files:
|
24
24
|
- LICENSE
|
25
|
-
- README.
|
25
|
+
- README.md
|
26
26
|
- Rakefile
|
27
27
|
- doc.rb
|
28
28
|
- ext/banned.h
|
@@ -52,7 +52,9 @@ files:
|
|
52
52
|
- tests/bug_follow_redirect_288.rb
|
53
53
|
- tests/bug_instance_post_differs_from_class_post.rb
|
54
54
|
- tests/bug_issue102.rb
|
55
|
-
- tests/
|
55
|
+
- tests/bug_issue_noproxy.rb
|
56
|
+
- tests/bug_issue_post_redirect.rb
|
57
|
+
- tests/bug_issue_spnego.rb
|
56
58
|
- tests/bug_multi_segfault.rb
|
57
59
|
- tests/bug_postfields_crash.rb
|
58
60
|
- tests/bug_postfields_crash2.rb
|
@@ -73,6 +75,12 @@ files:
|
|
73
75
|
- tests/tc_curl_multi.rb
|
74
76
|
- tests/tc_curl_postfield.rb
|
75
77
|
- tests/tc_curl_protocols.rb
|
78
|
+
- tests/tc_fiber_scheduler.rb
|
79
|
+
- tests/test_basic.rb
|
80
|
+
- tests/test_fiber_debug.rb
|
81
|
+
- tests/test_fiber_simple.rb
|
82
|
+
- tests/test_real_url.rb
|
83
|
+
- tests/test_simple_fiber.rb
|
76
84
|
- tests/timeout.rb
|
77
85
|
- tests/timeout_server.rb
|
78
86
|
- tests/unittests.rb
|
@@ -83,7 +91,7 @@ metadata:
|
|
83
91
|
changelog_uri: https://github.com/taf2/curb/blob/master/ChangeLog.md
|
84
92
|
rdoc_options:
|
85
93
|
- "--main"
|
86
|
-
- README.
|
94
|
+
- README.md
|
87
95
|
require_paths:
|
88
96
|
- lib
|
89
97
|
- ext
|
@@ -98,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
106
|
- !ruby/object:Gem::Version
|
99
107
|
version: '0'
|
100
108
|
requirements: []
|
101
|
-
rubygems_version: 3.6.
|
109
|
+
rubygems_version: 3.6.9
|
102
110
|
specification_version: 4
|
103
111
|
summary: Ruby libcurl bindings
|
104
112
|
test_files:
|
@@ -110,7 +118,9 @@ test_files:
|
|
110
118
|
- tests/bug_follow_redirect_288.rb
|
111
119
|
- tests/bug_instance_post_differs_from_class_post.rb
|
112
120
|
- tests/bug_issue102.rb
|
113
|
-
- tests/
|
121
|
+
- tests/bug_issue_noproxy.rb
|
122
|
+
- tests/bug_issue_post_redirect.rb
|
123
|
+
- tests/bug_issue_spnego.rb
|
114
124
|
- tests/bug_multi_segfault.rb
|
115
125
|
- tests/bug_postfields_crash.rb
|
116
126
|
- tests/bug_postfields_crash2.rb
|
@@ -131,6 +141,12 @@ test_files:
|
|
131
141
|
- tests/tc_curl_multi.rb
|
132
142
|
- tests/tc_curl_postfield.rb
|
133
143
|
- tests/tc_curl_protocols.rb
|
144
|
+
- tests/tc_fiber_scheduler.rb
|
145
|
+
- tests/test_basic.rb
|
146
|
+
- tests/test_fiber_debug.rb
|
147
|
+
- tests/test_fiber_simple.rb
|
148
|
+
- tests/test_real_url.rb
|
149
|
+
- tests/test_simple_fiber.rb
|
134
150
|
- tests/timeout.rb
|
135
151
|
- tests/timeout_server.rb
|
136
152
|
- tests/unittests.rb
|
data/tests/bug_issue277.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
2
|
-
|
3
|
-
|
4
|
-
require 'curb'
|
5
|
-
|
6
|
-
class BugIssue102 < Test::Unit::TestCase
|
7
|
-
|
8
|
-
def test_gc_closewait
|
9
|
-
100.times do
|
10
|
-
responses = {}
|
11
|
-
requests = ["http://www.google.co.uk/", "http://www.ruby-lang.org/"]
|
12
|
-
m = Curl::Multi.new
|
13
|
-
# add a few easy handles
|
14
|
-
requests.each do |url|
|
15
|
-
responses[url] = ""
|
16
|
-
c = Curl::Easy.new(url) do|curl|
|
17
|
-
curl.follow_location = true
|
18
|
-
curl.on_body{|data| responses[url] << data; data.size }
|
19
|
-
curl.on_success {|easy| #puts "success, add more easy handles"
|
20
|
-
}
|
21
|
-
end
|
22
|
-
m.add(c)
|
23
|
-
end
|
24
|
-
|
25
|
-
m.perform do
|
26
|
-
#puts "idling... can do some work here"
|
27
|
-
end
|
28
|
-
GC.start
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|