protocol-http 0.20.0 → 0.20.1

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: 155e5d73168b2ff9c429d2677150ae8a30e87ee8fb25a582ac30671f8e015ad2
4
- data.tar.gz: c3ae63c177fc673100717c5f2c81bbde8e8a3192de7d010e903593f82d68f2e4
3
+ metadata.gz: 5f14e6a0192840efd07d2ba8e8e3a8bd9312eb5fa8b976f1e12baaf14ee49696
4
+ data.tar.gz: 2548bc880b20a5e162cad7fdcbbece9a0cdfae429861b8a5f1bbd68cf904cb9b
5
5
  SHA512:
6
- metadata.gz: '08db581bcc0840a176039b99f8a9bb31c9db02fb9476ef318c26db8b37d73626754d929efd3cddc70446c5dbecb1708d8bb0347c873a0328b79fe6a0faf6fcdb'
7
- data.tar.gz: 64a7ff013c2e459c594f9c87dcd19d0056d9492136b9c97121d411ebafd74cfe47feacc76842863af7e40d9c38a877ef143e6d0253cf052a63648091f829f8d0
6
+ metadata.gz: b1e6692c96818aed1ed11c02b976169598ba9df9afc1f73109745168f62d85a75b6bf9abe530cac1daa39a3a40b5a815e06280581d8912b6c32f7e488f35fac0
7
+ data.tar.gz: 747e961c97c027258a46fbbd70f9845eead55d0c3dc6d108dae0083b99693bf5384f3868c9d50e5270d06337341879d265dc362a7907a16d22ecca73149e8223
@@ -3,4 +3,3 @@ root = true
3
3
  [*]
4
4
  indent_style = tab
5
5
  indent_size = 2
6
-
@@ -0,0 +1,44 @@
1
+ name: Development
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ test:
7
+ runs-on: ${{matrix.os}}-latest
8
+ continue-on-error: ${{matrix.experimental}}
9
+
10
+ strategy:
11
+ matrix:
12
+ os:
13
+ - ubuntu
14
+ - macos
15
+
16
+ ruby:
17
+ - 2.5
18
+ - 2.6
19
+ - 2.7
20
+
21
+ experimental: [false]
22
+ env: [""]
23
+
24
+ include:
25
+ - os: ubuntu
26
+ ruby: truffleruby
27
+ experimental: true
28
+ - os: ubuntu
29
+ ruby: jruby
30
+ experimental: true
31
+ - os: ubuntu
32
+ ruby: head
33
+ experimental: true
34
+
35
+ steps:
36
+ - uses: actions/checkout@v2
37
+ - uses: ioquatix/setup-ruby@master
38
+ with:
39
+ ruby-version: ${{matrix.ruby}}
40
+ bundler-cache: true
41
+
42
+ - name: Run tests
43
+ timeout-minutes: 5
44
+ run: ${{matrix.env}} bundle exec rspec
data/.gitignore CHANGED
@@ -6,8 +6,9 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /external/
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
12
- Gemfile.lock
13
+ /gems.locked
13
14
  .covered.db
data/README.md CHANGED
@@ -2,29 +2,29 @@
2
2
 
3
3
  Provides abstractions for working with the HTTP protocol.
4
4
 
5
- [![Build Status](https://travis-ci.com/socketry/protocol-http.svg?branch=master)](http://travis-ci.com/socketry/protocol-http)
5
+ [![Development Status](https://github.com/socketry/protocol-http/workflows/Development/badge.svg)](https://github.com/socketry/protocol-http/actions?workflow=Development)
6
6
 
7
7
  ## Installation
8
8
 
9
9
  Add this line to your application's Gemfile:
10
10
 
11
- ```ruby
11
+ ``` ruby
12
12
  gem 'protocol-http'
13
13
  ```
14
14
 
15
15
  And then execute:
16
16
 
17
- $ bundle
17
+ $ bundle
18
18
 
19
19
  Or install it yourself as:
20
20
 
21
- $ gem install protocol-http
21
+ $ gem install protocol-http
22
22
 
23
23
  ## Usage
24
24
 
25
25
  ### Headers
26
26
 
27
- ```ruby
27
+ ``` ruby
28
28
  require 'protocol/http/headers'
29
29
 
30
30
  headers = Protocol::HTTP::Headers.new
@@ -37,7 +37,7 @@ headers['content-type']
37
37
 
38
38
  ### Reference
39
39
 
40
- ```ruby
40
+ ``` ruby
41
41
  require 'protocol/http/reference'
42
42
 
43
43
  reference = Protocol::HTTP::Reference.new("/search", q: 'kittens')
@@ -48,7 +48,7 @@ reference.to_s
48
48
 
49
49
  ### URL
50
50
 
51
- ```ruby
51
+ ``` ruby
52
52
  require 'protocol/http/url'
53
53
 
54
54
  reference = Protocol::HTTP::Reference.parse("/search?q=kittens")
@@ -59,17 +59,17 @@ parameters = Protocol::HTTP::URL.decode(reference.query_string)
59
59
 
60
60
  ## Contributing
61
61
 
62
- 1. Fork it
63
- 2. Create your feature branch (`git checkout -b my-new-feature`)
64
- 3. Commit your changes (`git commit -am 'Add some feature'`)
65
- 4. Push to the branch (`git push origin my-new-feature`)
66
- 5. Create new Pull Request
62
+ 1. Fork it
63
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
64
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
65
+ 4. Push to the branch (`git push origin my-new-feature`)
66
+ 5. Create new Pull Request
67
67
 
68
68
  ## License
69
69
 
70
70
  Released under the MIT license.
71
71
 
72
- Copyright, 2019, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams).
72
+ Copyright, 2019, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams).
73
73
 
74
74
  Permission is hereby granted, free of charge, to any person obtaining a copy
75
75
  of this software and associated documentation files (the "Software"), to deal
data/bake.rb ADDED
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ def external
4
+ require 'bundler'
5
+
6
+ Bundler.with_unbundled_env do
7
+ clone_and_test("protocol-http1")
8
+ clone_and_test("protocol-http2")
9
+ clone_and_test("async-websocket")
10
+ clone_and_test("async-http")
11
+ clone_and_test("async-rest")
12
+ clone_and_test("falcon")
13
+ end
14
+ end
15
+
16
+ private
17
+
18
+ def clone_and_test(name)
19
+ path = "external/#{name}"
20
+
21
+ unless File.exist?(path)
22
+ system("git", "clone", "https://git@github.com/socketry/#{name}", path)
23
+ end
24
+
25
+ gemfile = [
26
+ File.join(path, "gems.rb"),
27
+ File.join(path, "Gemfile"),
28
+ ].find{|path| File.exist?(path)}
29
+
30
+ system("git", "checkout", "-f", File.basename(gemfile), chdir: path)
31
+
32
+ File.open(gemfile, "a") do |file|
33
+ file.puts('', 'gem "protocol-http", path: "../../"')
34
+ end
35
+
36
+ system("bundle install && bundle exec rspec", chdir: path)
37
+ end
@@ -5,6 +5,11 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in protocol-http.gemspec
6
6
  gemspec
7
7
 
8
+ group :maintenance, optional: true do
9
+ gem "bake-modernize"
10
+ gem "bake-bundler"
11
+ end
12
+
8
13
  group :test do
9
14
  gem 'async-io'
10
15
  gem 'async-rspec'
@@ -56,6 +56,7 @@ module Protocol
56
56
  @length = length
57
57
 
58
58
  @index = 0
59
+ @digest = nil
59
60
  end
60
61
 
61
62
  attr :chunks
@@ -22,6 +22,6 @@
22
22
 
23
23
  module Protocol
24
24
  module HTTP
25
- VERSION = "0.20.0"
25
+ VERSION = "0.20.1"
26
26
  end
27
27
  end
@@ -15,12 +15,11 @@ Gem::Specification.new do |spec|
15
15
  f.match(%r{^(test|spec|features)/})
16
16
  end
17
17
 
18
- spec.required_ruby_version = '~> 2.5'
18
+ spec.required_ruby_version = '>= 2.5'
19
19
 
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_development_dependency "covered"
23
23
  spec.add_development_dependency "bundler"
24
- spec.add_development_dependency "bake-bundler"
25
24
  spec.add_development_dependency "rspec"
26
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protocol-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.20.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-08 00:00:00.000000000 Z
11
+ date: 2020-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: covered
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: bake-bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rspec
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,7 +52,7 @@ dependencies:
66
52
  - - ">="
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
- description:
55
+ description:
70
56
  email:
71
57
  - samuel.williams@oriontransfer.co.nz
72
58
  executables: []
@@ -74,11 +60,12 @@ extensions: []
74
60
  extra_rdoc_files: []
75
61
  files:
76
62
  - ".editorconfig"
63
+ - ".github/workflows/development.yml"
77
64
  - ".gitignore"
78
65
  - ".rspec"
79
- - ".travis.yml"
80
- - Gemfile
81
66
  - README.md
67
+ - bake.rb
68
+ - gems.rb
82
69
  - lib/protocol/http.rb
83
70
  - lib/protocol/http/accept_encoding.rb
84
71
  - lib/protocol/http/body/buffered.rb
@@ -119,13 +106,13 @@ homepage: https://github.com/socketry/protocol-http
119
106
  licenses:
120
107
  - MIT
121
108
  metadata: {}
122
- post_install_message:
109
+ post_install_message:
123
110
  rdoc_options: []
124
111
  require_paths:
125
112
  - lib
126
113
  required_ruby_version: !ruby/object:Gem::Requirement
127
114
  requirements:
128
- - - "~>"
115
+ - - ">="
129
116
  - !ruby/object:Gem::Version
130
117
  version: '2.5'
131
118
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -134,8 +121,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
121
  - !ruby/object:Gem::Version
135
122
  version: '0'
136
123
  requirements: []
137
- rubygems_version: 3.1.2
138
- signing_key:
124
+ rubygems_version: 3.0.3
125
+ signing_key:
139
126
  specification_version: 4
140
127
  summary: Provides abstractions to handle HTTP protocols.
141
128
  test_files: []
@@ -1,22 +0,0 @@
1
- language: ruby
2
- dist: xenial
3
- cache: bundler
4
-
5
- script: bundle exec rspec
6
-
7
- matrix:
8
- include:
9
- - rvm: 2.5
10
- - rvm: 2.6
11
- - rvm: 2.7
12
- - rvm: 2.6
13
- env: COVERAGE=PartialSummary,Coveralls
14
- - rvm: 2.7
15
- - rvm: truffleruby
16
- - rvm: jruby-head
17
- env: JRUBY_OPTS="--debug -X+O"
18
- - rvm: ruby-head
19
- allow_failures:
20
- - rvm: truffleruby
21
- - rvm: ruby-head
22
- - rvm: jruby-head