protocol-rack 0.22.1 → 0.23.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46f37b5dbbaa27c5bb42f3dd5d27ea715a425d8ca279bcaab1ed2d95f98d9cf3
4
- data.tar.gz: 475be5c00aed56f5fb54894d0db92ecf3526de8608149c007087975fc8a3385a
3
+ metadata.gz: 13aa77d7f39b9732297e162e2157d6c9b3dd579b70cedc06623cdc85eea32bac
4
+ data.tar.gz: eafafa88ee86951e68fe6cd46e28f925b252e9b077ebc774c4c9f3a647935b4d
5
5
  SHA512:
6
- metadata.gz: 6ec24d2d39e1f9ccab02dbda9336c54383a8ea5054f4d49086ed457ae9722e0f19fca2e9c36cb3cceb7c95e4d7478cd2e865fa35a8c057d0156a08d4e51aace1
7
- data.tar.gz: 84c117df4fdae53826b5ca431ca0ca7ffb7f80208021feee09cc2fe72ad487d969da1ecdd1a4a2f016f4cf185c40eda7db99647309af6ad8cce11a6371994e1f
6
+ metadata.gz: 7da7c63533c0623eb000b3b435bd6358f44278cc2bbffecf670969478b239d6501a8b1bf766a867761095baf71c87228bbed6be57b0a0952c4fe6e6d0bc60e8c
7
+ data.tar.gz: 9b1f1bc5f511119bbd03f6818b3deaed7263cd80fd062829a2fe23f2bb5b0b6b086fa4904120858dc45158e5d7ecb37fb26d4b198dc48cb39e51f5d062ffa131
checksums.yaml.gz.sig CHANGED
Binary file
data/context/index.yaml CHANGED
@@ -3,6 +3,8 @@
3
3
  ---
4
4
  description: An implementation of the Rack protocol/specification.
5
5
  metadata:
6
+ bug_tracker_uri: https://github.com/socketry/protocol-rack/issues
7
+ changelog_uri: https://github.com/socketry/protocol-rack/blob/main/releases.md
6
8
  documentation_uri: https://socketry.github.io/protocol-rack/
7
9
  source_code_uri: https://github.com/socketry/protocol-rack.git
8
10
  files:
@@ -44,6 +44,10 @@ module Protocol
44
44
  raise ArgumentError, "App must be callable!" unless @app.respond_to?(:call)
45
45
  end
46
46
 
47
+ # Rack does not define an application lifecycle hook, so there is nothing to close.
48
+ def close
49
+ end
50
+
47
51
  # The logger to use for this adapter.
48
52
  #
49
53
  # @returns [Console] The console logger.
@@ -103,7 +103,7 @@ module Protocol
103
103
  # @yields {|chunk| ...}
104
104
  # @parameter chunk [String] A chunk of the response body.
105
105
  def each(&block)
106
- @body.each(&block)
106
+ @body&.each(&block)
107
107
  rescue => error
108
108
  raise
109
109
  ensure
@@ -60,10 +60,7 @@ module Protocol
60
60
  #
61
61
  # @returns [Boolean] Whether the body could be rewound.
62
62
  def rewind
63
- if @body and @body.respond_to?(:rewind)
64
- # If the body is not rewindable, this will fail.
65
- @body.rewind
66
-
63
+ if @body&.rewind
67
64
  @finished = false
68
65
  @closed = false
69
66
 
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Protocol
7
7
  module Rack
8
- VERSION = "0.22.1"
8
+ VERSION = "0.23.0"
9
9
  end
10
10
  end
data/readme.md CHANGED
@@ -21,6 +21,12 @@ Please see the [project documentation](https://socketry.github.io/protocol-rack/
21
21
 
22
22
  Please see the [project releases](https://socketry.github.io/protocol-rack/releases/index) for all releases.
23
23
 
24
+ ### v0.23.0
25
+
26
+ - Respect the result of rewinding the underlying request body.
27
+ - Avoid enumerating a response body after it has been closed.
28
+ - Add the missing `console` runtime dependency.
29
+
24
30
  ### v0.22.1
25
31
 
26
32
  - Rack 2 should not use `to_ary`.
@@ -58,34 +64,30 @@ Please see the [project releases](https://socketry.github.io/protocol-rack/relea
58
64
 
59
65
  - Hijacked IO is no longer duped, as it's not retained by the original connection, and `SSLSocket` does not support duping.
60
66
 
61
- ### v0.15.0
62
-
63
- - Use `IO::Stream::Readable` for the input body, which is a better tested and more robust interface.
64
-
65
67
  ## Contributing
66
68
 
67
69
  We welcome contributions to this project.
68
70
 
69
- 1. Fork it.
71
+ 1. Fork the repository.
70
72
  2. Create your feature branch (`git checkout -b my-new-feature`).
71
- 3. Commit your changes (`git commit -am 'Add some feature'`).
73
+ 3. Commit your changes (`git commit -am 'Add some feature.'`).
72
74
  4. Push to the branch (`git push origin my-new-feature`).
73
- 5. Create new Pull Request.
75
+ 5. Create a new pull request.
74
76
 
75
77
  ### Running Tests
76
78
 
77
79
  To run the test suite:
78
80
 
79
- ``` shell
80
- bundle exec sus
81
+ ``` bash
82
+ $ bundle exec sus
81
83
  ```
82
84
 
83
85
  ### Making Releases
84
86
 
85
87
  To make a new release:
86
88
 
87
- ``` shell
88
- bundle exec bake gem:release:patch # or minor or major
89
+ ``` bash
90
+ $ bundle exec bake gem:release:patch # or minor or major
89
91
  ```
90
92
 
91
93
  ### Developer Certificate of Origin
data/releases.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Releases
2
2
 
3
+ ## v0.23.0
4
+
5
+ - Respect the result of rewinding the underlying request body.
6
+ - Avoid enumerating a response body after it has been closed.
7
+ - Add the missing `console` runtime dependency.
8
+
3
9
  ## v0.22.1
4
10
 
5
11
  - Rack 2 should not use `to_ary`.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protocol-rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.1
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -40,6 +40,20 @@ cert_chain:
40
40
  -----END CERTIFICATE-----
41
41
  date: 1980-01-02 00:00:00.000000000 Z
42
42
  dependencies:
43
+ - !ruby/object:Gem::Dependency
44
+ name: console
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.0'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.0'
43
57
  - !ruby/object:Gem::Dependency
44
58
  name: io-stream
45
59
  requirement: !ruby/object:Gem::Requirement
@@ -113,6 +127,8 @@ homepage: https://github.com/socketry/protocol-rack
113
127
  licenses:
114
128
  - MIT
115
129
  metadata:
130
+ bug_tracker_uri: https://github.com/socketry/protocol-rack/issues
131
+ changelog_uri: https://github.com/socketry/protocol-rack/blob/main/releases.md
116
132
  documentation_uri: https://socketry.github.io/protocol-rack/
117
133
  source_code_uri: https://github.com/socketry/protocol-rack.git
118
134
  rdoc_options: []
@@ -129,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
145
  - !ruby/object:Gem::Version
130
146
  version: '0'
131
147
  requirements: []
132
- rubygems_version: 4.0.6
148
+ rubygems_version: 4.0.10
133
149
  specification_version: 4
134
150
  summary: An implementation of the Rack protocol/specification.
135
151
  test_files: []
metadata.gz.sig CHANGED
Binary file