polyphony-http 0.24 → 0.25

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ca781bfd155cadb774a4b9578c947aed555ad14af76d282d17be7a8f765faae
4
- data.tar.gz: 4317fb42a26ca09d769d78905a89e6c12c0eb0bbc4b18b7b74ff5132a6ac90ac
3
+ metadata.gz: 6d7057c7087e12dba005ba961b82058defb7ebc9567e5922578cc07fd464b5d9
4
+ data.tar.gz: 89575e28cb168086644e15c3d61082c2fa99a87182542be9b92a30e0a555583f
5
5
  SHA512:
6
- metadata.gz: 82d55c481540b596463e18fb9eea87f92e52c53e5fab04cbddeca54b4a5462002f4b58657dc0c5afc3cec763999798e564fed3a82fe234dd98fe565318602f57
7
- data.tar.gz: fada33a093f8c9967a0927173c57d03d0e82c27b80de6a113e435810f2bd8d05f894dc467c66883f4196ed72702bdef0e207892ac1b233501fc96cfd8ca749d6
6
+ metadata.gz: e48bf62668a7a110915a3d537a9389ff5295fb40395f8e95b0363a723dc313d9f583b74191a811eed88ab08be232312f3518863d4f1a4883c0421102c23e3574
7
+ data.tar.gz: b88c0776b9e6764423e0d57ffc824187314c6235d7e4bb3e0c4f34511aa66d6f975dd9a64de607e553ef092dde76247aad32a19ff016bfc9de38241695d55a37
@@ -1,3 +1,9 @@
1
+ 0.25 2020-02-19
2
+ ---------------
3
+
4
+ * Ensure server socket is closed upon stopping loop
5
+ * Fix `Request#format_header_lines`
6
+
1
7
  0.24 2020-01-08
2
8
  ---------------
3
9
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- polyphony-http (0.24)
4
+ polyphony-http (0.25)
5
5
  http-2 (~> 0.10.0)
6
6
  http_parser.rb (~> 0.6.0)
7
7
  modulation (~> 1.0)
@@ -13,6 +13,8 @@ def serve(host, port, opts = {}, &handler)
13
13
  opts[:alpn_protocols] = ALPN_PROTOCOLS
14
14
  server = Net.tcp_listen(host, port, opts)
15
15
  accept_loop(server, opts, &handler)
16
+ ensure
17
+ server.close
16
18
  end
17
19
 
18
20
  def listen(host, port, opts = {})
@@ -21,6 +23,8 @@ def listen(host, port, opts = {})
21
23
  socket.define_singleton_method(:each) do |&block|
22
24
  MODULE.accept_loop(socket, opts, &block)
23
25
  end
26
+ ensure
27
+ socket.close
24
28
  end
25
29
  end
26
30
 
@@ -235,9 +235,9 @@ class HTTP1Adapter
235
235
 
236
236
  def format_header_lines(key, value)
237
237
  if value.is_a?(Array)
238
- value.each { |item| data << "#{key}: #{item}\r\n" }
238
+ value.inject(+'') { |data, item| data << "#{key}: #{item}\r\n" }
239
239
  else
240
- data << "#{key}: #{value}\r\n"
240
+ "#{key}: #{value}\r\n"
241
241
  end
242
242
  end
243
243
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Polyphony
4
4
  module HTTP
5
- VERSION = '0.24'
5
+ VERSION = '0.25'
6
6
  end
7
7
  end
@@ -19,10 +19,18 @@ Minitest::Reporters.use! [
19
19
  ]
20
20
 
21
21
  class MiniTest::Test
22
+ def setup
23
+ if Fiber.current.children.size > 0
24
+ puts "Children left: #{Fiber.current.children.inspect}"
25
+ exit!
26
+ end
27
+ Fiber.current.setup_main_fiber
28
+ sleep 0
29
+ end
30
+
22
31
  def teardown
23
- # wait for any remaining scheduled work
24
- Gyro.run
25
- Polyphony.reset!
32
+ Fiber.current.terminate_all_children
33
+ Fiber.current.await_all_children
26
34
  end
27
35
  end
28
36
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyphony-http
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.24'
4
+ version: '0.25'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-17 00:00:00.000000000 Z
11
+ date: 2020-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: modulation