falcon 0.28.1 → 0.28.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54e88a00b1ecd1f7de904b170ff19249e78d11694db523c7d44a449089919d0b
4
- data.tar.gz: b288ff9209323eeed01e16d0cc1f48c536993914b07f0186c8e09d6c5e9537a2
3
+ metadata.gz: 4ad38272a388a225bdf3ede24e5fd0bf33eb55b4efdce7e39b222ad29055bc56
4
+ data.tar.gz: c8f6c07c8c26ee73a0895a0ee35a9a0be879d848c570f06791221446c638699c
5
5
  SHA512:
6
- metadata.gz: 96573c831591b410cb9e9558a5b129e52a15f4b1ed9cfacf1468856130cc8f2d80147de3afb986047136256ec9f5ec6111f0acc3e1f886b529769ccb61e29458
7
- data.tar.gz: 70fca16af5adeac7fdbbe93146fd50ff11116114fb1b95f8d81da91e18e51538428f167020f6ad0aed62734b83abdd60dd737985e2963e75f77d7288cc75497f
6
+ metadata.gz: e70b7a5e24cc7fe8480141f1f8a695345898073570f26ab2a162762e65e42e74bf51d982ebec092f96a03676f0b9cdb83f5817fe054c18778088a430fe622acf
7
+ data.tar.gz: 3deee0be9e2d29c179f6fd0f1215c4227f8797b3ed9937eb30312e1dafc1eb3a2e6ca5bf35807ad72bcc5d6de96475a381e0600ba55767192aa85b0991c74aad
@@ -26,27 +26,25 @@ module Falcon
26
26
  # This is used for implementing partial hijack.
27
27
  class Hijack
28
28
  def self.for(env, block, socket = nil, task: Async::Task.current)
29
- input = env[Rack::RACK_INPUT]
29
+ input = socket || env[Rack::RACK_INPUT]
30
30
  output = Async::HTTP::Body::Writable.new
31
31
 
32
- stream = Hijack.new(input, output, socket)
32
+ stream = Hijack.new(input, output)
33
33
 
34
34
  task.async do
35
35
  begin
36
36
  block.call(stream)
37
37
  ensure
38
- stream.close
38
+ output.close
39
39
  end
40
40
  end
41
41
 
42
42
  return output
43
43
  end
44
44
 
45
- def initialize(input, output, socket)
45
+ def initialize(input, output)
46
46
  @input = input
47
47
  @output = output
48
- @socket = socket
49
- @closed = false
50
48
  end
51
49
 
52
50
  def read(length = nil, buffer = nil)
@@ -67,24 +65,20 @@ module Falcon
67
65
  end
68
66
 
69
67
  def close
70
- return if @closed
71
-
72
- @input.close
73
68
  @output.close
74
- @closed = true
75
69
  end
76
70
 
77
71
  def close_read
78
- @input.close
72
+ if @input.respond_to?(:close_read)
73
+ @input.close_read
74
+ else
75
+ @input.close
76
+ end
79
77
  end
80
78
 
81
79
  def close_write
82
80
  @output.close
83
81
  end
84
-
85
- def closed?
86
- @closed
87
- end
88
82
  end
89
83
  end
90
84
  end
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Falcon
22
- VERSION = "0.28.1"
22
+ VERSION = "0.28.2"
23
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: falcon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.1
4
+ version: 0.28.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -322,7 +322,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
322
322
  - !ruby/object:Gem::Version
323
323
  version: '0'
324
324
  requirements: []
325
- rubygems_version: 3.0.2
325
+ rubygems_version: 3.0.3
326
326
  signing_key:
327
327
  specification_version: 4
328
328
  summary: A fast, asynchronous, rack-compatible web server.