protocol-http1 0.37.1 → 0.38.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: 97a6f38e50bdc78455b7f57895ef25df4dde6492142c2c60c40373b632c3db3b
4
- data.tar.gz: 0fb9af13fd1beeb21082c7d1860604b1bc947d343598c6347387d99707990894
3
+ metadata.gz: 9b20437da24d1840f9eba2a6cd768d224b1279856db05b08d4dac174cc36d26f
4
+ data.tar.gz: 1a0651bae0777c40bfbfee99b617492010e3c01e96c7fd7242f2a519d04c37d9
5
5
  SHA512:
6
- metadata.gz: b3cb82192723452081180be601e36491fe2a5d2b5f05fcc3556080a9311c846bdf2844c499981ac52338170cefdd097584ba8b53c52153af54cc29fbb4a405d9
7
- data.tar.gz: a4013c3278818c2a632d3f41e46a6625c286f59391990819bda5b29c3c5d4fd82c328acae59107a4abeb5268deebc16bf91e3d3584a3b1be42ab3105a941a352
6
+ metadata.gz: a22e2a5e9cf67e34e6577f1ec76c2be8a4b471f89bbeb01544e8bf9cfb2f5e1ed3b548d34b72af6b4769370f16a9f266d2a857d2196cba95a86fad2bc47ee3fe
7
+ data.tar.gz: c9fe0c68fa411bacdb8219af302d5b3d042f8bf763e83936561dedce2a0a31136ad442188084d0830fb563fa4ec057c97dd9bdca64e80826ba17331fa5e472ff
checksums.yaml.gz.sig CHANGED
Binary file
@@ -266,6 +266,8 @@ module Protocol
266
266
  @stream.write("host: #{authority}\r\n") if authority
267
267
 
268
268
  write_headers(headers)
269
+ rescue
270
+ raise ::Protocol::HTTP::RequestRefusedError
269
271
  end
270
272
 
271
273
  # Write a response to the connection. It is expected you will write the body after this method.
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Protocol
7
7
  module HTTP1
8
- VERSION = "0.37.1"
8
+ VERSION = "0.38.0"
9
9
  end
10
10
  end
data/readme.md CHANGED
@@ -30,6 +30,10 @@ Please see the [project documentation](https://socketry.github.io/protocol-http1
30
30
 
31
31
  Please see the [project releases](https://socketry.github.io/protocol-http1/releases/index) for all releases.
32
32
 
33
+ ### v0.38.0
34
+
35
+ - `write_request` now raises `Protocol::HTTP::RequestRefusedError` if the request line or headers cannot be written, indicating the request was not processed and can be safely retried.
36
+
33
37
  ### v0.37.1
34
38
 
35
39
  - Defer `body.close` in `write_chunked_body`, `write_fixed_length_body`, and `write_body_and_close` until after the response is fully written and flushed. Previously, `body.each` called `close` in its `ensure` block before the terminal chunk (chunked encoding) or final flush was written, causing `rack.response_finished` callbacks to delay the client-visible response completion.
@@ -69,10 +73,6 @@ Please see the [project releases](https://socketry.github.io/protocol-http1/rele
69
73
  - Fix header parsing to handle tab characters between values correctly.
70
74
  - Complete documentation coverage for all public APIs.
71
75
 
72
- ### v0.31.0
73
-
74
- - Enforce one-way transition for persistent connections to prevent invalid state changes.
75
-
76
76
  ## Contributing
77
77
 
78
78
  We welcome contributions to this project.
data/releases.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Releases
2
2
 
3
+ ## v0.38.0
4
+
5
+ - `write_request` now raises `Protocol::HTTP::RequestRefusedError` if the request line or headers cannot be written, indicating the request was not processed and can be safely retried.
6
+
3
7
  ## v0.37.1
4
8
 
5
9
  - Defer `body.close` in `write_chunked_body`, `write_fixed_length_body`, and `write_body_and_close` until after the response is fully written and flushed. Previously, `body.each` called `close` in its `ensure` block before the terminal chunk (chunked encoding) or final flush was written, causing `rack.response_finished` callbacks to delay the client-visible response completion.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protocol-http1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.37.1
4
+ version: 0.38.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -49,14 +49,14 @@ dependencies:
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: '0.58'
52
+ version: '0.61'
53
53
  type: :runtime
54
54
  prerelease: false
55
55
  version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '0.58'
59
+ version: '0.61'
60
60
  executables: []
61
61
  extensions: []
62
62
  extra_rdoc_files: []
metadata.gz.sig CHANGED
Binary file