File: rack3-rackup-support.patch

package info (click to toggle)
ruby-ethon 0.16.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 676 kB
  • sloc: ruby: 5,403; sh: 9; makefile: 8
file content (136 lines) | stat: -rw-r--r-- 5,003 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
From: Lucas Nussbaum <lucas@debian.org>
Date: Thu, 24 Apr 2025 22:34:24 +0200
Subject: Support rack3 (and the split to rackup)

Bug-Debian: https://bugs.debian.org/1094557
Origin: vendor
Last-Update: 2025-04-10

With rack3, the body can no longer be read after it has been processed.
We disable tests that relied on that.
---
 spec/ethon/easy/http/custom_spec.rb |  8 ++++----
 spec/ethon/easy/http/post_spec.rb   | 10 +++++-----
 spec/support/localhost_server.rb    |  7 ++++---
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/spec/ethon/easy/http/custom_spec.rb b/spec/ethon/easy/http/custom_spec.rb
index ba0978b..5b5969a 100644
--- a/spec/ethon/easy/http/custom_spec.rb
+++ b/spec/ethon/easy/http/custom_spec.rb
@@ -79,7 +79,7 @@ describe Ethon::Easy::Http::Custom do
             expect(easy.response_body).to include('"CONTENT_TYPE":"multipart/form-data')
           end
 
-          it "submits a body" do
+          xit "submits a body" do
             expect(easy.response_body).to match('"body":".+"')
           end
 
@@ -122,7 +122,7 @@ describe Ethon::Easy::Http::Custom do
             expect(easy.response_body).to include('"CONTENT_TYPE":"application/x-www-form-urlencoded')
           end
 
-          it "submits a body" do
+          xit "submits a body" do
             expect(easy.response_body).to match('"body":"a=1%26b%3D2"')
           end
 
@@ -146,7 +146,7 @@ describe Ethon::Easy::Http::Custom do
             expect(easy.return_code).to eq(:ok)
           end
 
-          it "sends string" do
+          xit "sends string" do
             expect(easy.response_body).to include('"body":"{a: 1}"')
           end
         end
@@ -168,7 +168,7 @@ describe Ethon::Easy::Http::Custom do
           expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?b=2"')
         end
 
-        it "body contains form" do
+        xit "body contains form" do
           expect(easy.response_body).to include('"body":"a=1"')
         end
       end
diff --git a/spec/ethon/easy/http/post_spec.rb b/spec/ethon/easy/http/post_spec.rb
index a65ceff..bbc18f7 100644
--- a/spec/ethon/easy/http/post_spec.rb
+++ b/spec/ethon/easy/http/post_spec.rb
@@ -179,7 +179,7 @@ describe Ethon::Easy::Http::Post do
             expect(easy.response_body).to include('"CONTENT_TYPE":"multipart/form-data')
           end
 
-          it "submits a body" do
+          xit "submits a body" do
             expect(easy.response_body).to match('"body":".+"')
           end
 
@@ -222,7 +222,7 @@ describe Ethon::Easy::Http::Post do
             expect(easy.response_body).to include('"CONTENT_TYPE":"application/x-www-form-urlencoded')
           end
 
-          it "submits a body" do
+          xit "submits a body" do
             expect(easy.response_body).to match('"body":"a=1%26b%3D2"')
           end
 
@@ -246,7 +246,7 @@ describe Ethon::Easy::Http::Post do
             expect(easy.return_code).to eq(:ok)
           end
 
-          it "sends string" do
+          xit "sends string" do
             expect(easy.response_body).to include('"body":"{a: 1}"')
           end
         end
@@ -266,7 +266,7 @@ describe Ethon::Easy::Http::Post do
             expect(easy.return_code).to eq(:ok)
           end
 
-          it "sends binary data" do
+          xit "sends binary data" do
             expect(easy.response_body).to include('"body":"\\u0001\\u0000\\u0001"')
           end
         end
@@ -308,7 +308,7 @@ describe Ethon::Easy::Http::Post do
           expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?b=2"')
         end
 
-        it "body contains form" do
+        xit "body contains form" do
           expect(easy.response_body).to include('"body":"a=1"')
         end
       end
diff --git a/spec/support/localhost_server.rb b/spec/support/localhost_server.rb
index a7b119a..bfbb9d2 100644
--- a/spec/support/localhost_server.rb
+++ b/spec/support/localhost_server.rb
@@ -1,6 +1,7 @@
 # frozen_string_literal: true
 require 'rack'
-require 'rack/handler/webrick'
+require 'rackup'
+require 'rackup/handler/webrick'
 require 'net/http'
 
 # The code for this is inspired by Capybara's server:
@@ -44,7 +45,7 @@ class LocalhostServer
     # Use WEBrick since it's part of the ruby standard library and is available on all ruby interpreters.
     options = { :Port => port }
     options.merge!(:AccessLog => [], :Logger => WEBrick::BasicLog.new(StringIO.new)) unless ENV['VERBOSE_SERVER']
-    Rack::Handler::WEBrick.run(Identify.new(@rack_app), **options)
+    Rackup::Handler::WEBrick.run(Identify.new(@rack_app), **options)
   end
 
   def booted?
@@ -59,7 +60,7 @@ class LocalhostServer
   def concurrently
     if should_use_subprocess?
       pid = Process.fork do
-        trap(:INT) { ::Rack::Handler::WEBrick.shutdown }
+        trap(:INT) { ::Rackup::Handler::WEBrick.shutdown }
         yield
         exit # manually exit; otherwise this sub-process will re-run the specs that haven't run yet.
       end