protocol-http1 0.13.2 → 0.14.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.

Potentially problematic release.


This version of protocol-http1 might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 95b00d4f51351bedac2db6576b3117c37f6de76ab3d06b7535c19bdb45f8c3c5
4
- data.tar.gz: d715bee3904278d4e043029aac21032316b7e43f57987a2b50ab5d51bf5d2e77
3
+ metadata.gz: 972a37dfc7d2658f54c796f85054bec8bdb2827e595a42b874d276d320015aa7
4
+ data.tar.gz: d50ec1a04e61727cb104e7d1224e90bd8c4dc63f41e71854b2376463456ee8ba
5
5
  SHA512:
6
- metadata.gz: 481a4d626cdaa358f53f13c3d000aab1512bde51a6bf9f18d5e72310fd6011796b9c037492ed544bb63ebe26a5b009a922d69531440fef1cd65796a236fef812
7
- data.tar.gz: e14d62075c96f88ed45bdaedf63b3740ee55c94478c76bc12368671134b1172a83d85480904bdb109d7f1107b3e18718abe9257565f55570699d9df602e203e8
6
+ metadata.gz: d19773f15978c311cfba29096fdf6026279c04ee458db6492811368f9251cd54cb697db12f06f748d3130308cf91341a0377933a8c57f07dfceb805380212da1
7
+ data.tar.gz: 2b804b15e98404899673468bc63f35adf3417d0e6a31e54e3cb77d262c65918242b062de9fa72e302c5b99403482ff1b8f5ec3ce43bf0bb43215d21d0dd91cac
@@ -26,7 +26,6 @@ module Protocol
26
26
  module HTTP1
27
27
  module Body
28
28
  class Chunked < HTTP::Body::Readable
29
- TRAILERS = 'trailers'
30
29
  CRLF = "\r\n"
31
30
 
32
31
  def initialize(stream, headers)
@@ -62,7 +61,7 @@ module Protocol
62
61
  if length == 0
63
62
  @finished = true
64
63
 
65
- read_trailers
64
+ read_trailer
66
65
 
67
66
  return nil
68
67
  end
@@ -89,9 +88,9 @@ module Protocol
89
88
  @stream.gets(CRLF, chomp: true)
90
89
  end
91
90
 
92
- def read_trailers
91
+ def read_trailer
93
92
  while line = read_line
94
- # Empty line indicates end of headers:
93
+ # Empty line indicates end of trailer:
95
94
  break if line.empty?
96
95
 
97
96
  if match = line.match(HEADER)
@@ -301,6 +301,7 @@ module Protocol
301
301
  end
302
302
 
303
303
  @stream.write(chunk)
304
+ @stream.flush unless body.ready?
304
305
  end
305
306
 
306
307
  @stream.flush
@@ -310,7 +311,7 @@ module Protocol
310
311
  end
311
312
  end
312
313
 
313
- def write_chunked_body(body, head, trailers = nil)
314
+ def write_chunked_body(body, head, trailer = nil)
314
315
  @stream.write("transfer-encoding: chunked\r\n\r\n")
315
316
 
316
317
  if head
@@ -333,9 +334,9 @@ module Protocol
333
334
  @stream.flush unless body.ready?
334
335
  end
335
336
 
336
- if trailers
337
+ if trailer
337
338
  @stream.write("0\r\n")
338
- write_headers(trailers)
339
+ write_headers(trailer)
339
340
  @stream.write("\r\n")
340
341
  else
341
342
  @stream.write("0\r\n\r\n")
@@ -364,11 +365,11 @@ module Protocol
364
365
  @stream.close_write
365
366
  end
366
367
 
367
- def write_body(version, body, head = false, trailers = nil)
368
+ def write_body(version, body, head = false, trailer = nil)
368
369
  if body.nil?
369
370
  write_connection_header(version)
370
371
  write_empty_body(body)
371
- elsif length = body.length and trailers.nil?
372
+ elsif length = body.length and trailer.nil?
372
373
  write_connection_header(version)
373
374
  write_fixed_length_body(body, length, head)
374
375
  elsif body.empty?
@@ -378,7 +379,7 @@ module Protocol
378
379
  elsif @persistent and version == HTTP11
379
380
  write_connection_header(version)
380
381
  # We specifically ensure that non-persistent connections do not use chunked response, so that hijacking works as expected.
381
- write_chunked_body(body, head, trailers)
382
+ write_chunked_body(body, head, trailer)
382
383
  else
383
384
  @persistent = false
384
385
  write_connection_header(version)
@@ -22,6 +22,6 @@
22
22
 
23
23
  module Protocol
24
24
  module HTTP1
25
- VERSION = "0.13.2"
25
+ VERSION = "0.14.0"
26
26
  end
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protocol-http1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.2
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-25 00:00:00.000000000 Z
11
+ date: 2021-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: protocol-http
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.19'
19
+ version: '0.22'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.19'
26
+ version: '0.22'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement