http 5.0.0.pre3 → 5.0.3
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 +4 -4
- data/.github/workflows/ci.yml +65 -0
- data/.gitignore +6 -10
- data/.rspec +0 -4
- data/.rubocop/layout.yml +8 -0
- data/.rubocop/style.yml +32 -0
- data/.rubocop.yml +7 -124
- data/.rubocop_todo.yml +192 -0
- data/CHANGES.md +123 -1
- data/Gemfile +18 -11
- data/LICENSE.txt +1 -1
- data/README.md +47 -87
- data/Rakefile +2 -10
- data/http.gemspec +3 -3
- data/lib/http/chainable.rb +15 -14
- data/lib/http/client.rb +26 -15
- data/lib/http/connection.rb +7 -3
- data/lib/http/content_type.rb +10 -5
- data/lib/http/feature.rb +1 -1
- data/lib/http/features/auto_inflate.rb +0 -2
- data/lib/http/features/instrumentation.rb +1 -1
- data/lib/http/features/logging.rb +19 -21
- data/lib/http/headers.rb +3 -3
- data/lib/http/mime_type/adapter.rb +2 -0
- data/lib/http/options.rb +2 -2
- data/lib/http/redirector.rb +1 -1
- data/lib/http/request/writer.rb +6 -2
- data/lib/http/request.rb +22 -5
- data/lib/http/response/body.rb +5 -4
- data/lib/http/response/inflater.rb +1 -1
- data/lib/http/response/parser.rb +72 -64
- data/lib/http/response/status.rb +2 -2
- data/lib/http/response.rb +24 -6
- data/lib/http/timeout/global.rb +18 -30
- data/lib/http/timeout/null.rb +2 -1
- data/lib/http/timeout/per_operation.rb +31 -55
- data/lib/http/version.rb +1 -1
- data/spec/lib/http/client_spec.rb +109 -41
- data/spec/lib/http/features/auto_inflate_spec.rb +0 -1
- data/spec/lib/http/features/instrumentation_spec.rb +21 -16
- data/spec/lib/http/features/logging_spec.rb +2 -5
- data/spec/lib/http/headers_spec.rb +3 -3
- data/spec/lib/http/redirector_spec.rb +44 -0
- data/spec/lib/http/request/body_spec.rb +3 -3
- data/spec/lib/http/request/writer_spec.rb +12 -1
- data/spec/lib/http/response/body_spec.rb +5 -5
- data/spec/lib/http/response/parser_spec.rb +5 -5
- data/spec/lib/http/response_spec.rb +62 -10
- data/spec/lib/http_spec.rb +20 -2
- data/spec/spec_helper.rb +21 -21
- data/spec/support/black_hole.rb +1 -1
- data/spec/support/dummy_server/servlet.rb +14 -2
- data/spec/support/dummy_server.rb +1 -1
- data/spec/support/fuubar.rb +21 -0
- data/spec/support/simplecov.rb +19 -0
- metadata +23 -18
- data/.coveralls.yml +0 -1
- data/.travis.yml +0 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07b34c228e87205e026b3e446bb870391df41188fa7d97438c863825819a6694
|
4
|
+
data.tar.gz: 4892ec252ec9f4fff897bd3860af14b6379fc97363f916b225d337dd000af343
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b3f3261bf7215369f88c06a2147eeb0b1811aeb76aba86b59c2def09cdbc8e5b5b53197f4124af9de032a11e8786060957cb684dc03c52c35425e5f967b1ac8
|
7
|
+
data.tar.gz: 7dc0afcf98bbe98da6c769e9d5eb30dd84a82e9095e3191840f3063099317fe37559c8e09282ff56c0cf39e77f70179e6605651c196198b1c8f4a49cf6b8a851
|
@@ -0,0 +1,65 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ main ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ main ]
|
8
|
+
|
9
|
+
env:
|
10
|
+
BUNDLE_WITHOUT: "development"
|
11
|
+
JRUBY_OPTS: "--dev --debug"
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
test:
|
15
|
+
runs-on: ${{ matrix.os }}
|
16
|
+
|
17
|
+
strategy:
|
18
|
+
matrix:
|
19
|
+
ruby: [ ruby-2.5, ruby-2.6, ruby-2.7, ruby-3.0 ]
|
20
|
+
os: [ ubuntu-latest ]
|
21
|
+
|
22
|
+
steps:
|
23
|
+
- uses: actions/checkout@v2
|
24
|
+
|
25
|
+
- uses: ruby/setup-ruby@v1
|
26
|
+
with:
|
27
|
+
ruby-version: ${{ matrix.ruby }}
|
28
|
+
bundler-cache: true
|
29
|
+
|
30
|
+
- name: bundle exec rspec
|
31
|
+
run: bundle exec rspec --format progress --force-colour
|
32
|
+
|
33
|
+
- name: Prepare Coveralls test coverage report
|
34
|
+
uses: coverallsapp/github-action@v1.1.2
|
35
|
+
with:
|
36
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
37
|
+
flag-name: "${{ matrix.ruby }} @${{ matrix.os }}"
|
38
|
+
path-to-lcov: ./coverage/lcov/lcov.info
|
39
|
+
parallel: true
|
40
|
+
|
41
|
+
coveralls:
|
42
|
+
needs: test
|
43
|
+
runs-on: ubuntu-latest
|
44
|
+
steps:
|
45
|
+
- name: Finalize Coveralls test coverage report
|
46
|
+
uses: coverallsapp/github-action@master
|
47
|
+
with:
|
48
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
49
|
+
parallel-finished: true
|
50
|
+
|
51
|
+
lint:
|
52
|
+
runs-on: ubuntu-latest
|
53
|
+
|
54
|
+
steps:
|
55
|
+
- uses: actions/checkout@v2
|
56
|
+
|
57
|
+
- uses: ruby/setup-ruby@v1
|
58
|
+
with:
|
59
|
+
ruby-version: 2.5
|
60
|
+
bundler-cache: true
|
61
|
+
|
62
|
+
- name: bundle exec rubocop
|
63
|
+
run: bundle exec rubocop --format progress --color
|
64
|
+
|
65
|
+
- run: bundle exec rake verify_measurements
|
data/.gitignore
CHANGED
@@ -1,19 +1,15 @@
|
|
1
1
|
*.gem
|
2
|
-
.bundle
|
3
2
|
.config
|
4
3
|
.rvmrc
|
5
|
-
.ruby-version
|
6
4
|
.yardoc
|
7
|
-
Gemfile.lock
|
8
5
|
InstalledFiles
|
9
6
|
_yardoc
|
10
|
-
|
7
|
+
|
8
|
+
.bundle
|
9
|
+
.ruby-version
|
11
10
|
doc
|
12
|
-
|
13
|
-
measurement
|
11
|
+
coverage
|
14
12
|
pkg
|
15
|
-
|
16
|
-
spec/reports
|
17
|
-
test/tmp
|
18
|
-
test/version_tmp
|
13
|
+
spec/examples.txt
|
19
14
|
tmp
|
15
|
+
Gemfile.lock
|
data/.rspec
CHANGED
data/.rubocop/layout.yml
ADDED
data/.rubocop/style.yml
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
Style/Documentation:
|
2
|
+
Enabled: false
|
3
|
+
|
4
|
+
Style/DocumentDynamicEvalDefinition:
|
5
|
+
Enabled: true
|
6
|
+
Exclude:
|
7
|
+
- 'spec/**/*.rb'
|
8
|
+
|
9
|
+
Style/FormatStringToken:
|
10
|
+
Enabled: true
|
11
|
+
EnforcedStyle: unannotated
|
12
|
+
|
13
|
+
Style/HashSyntax:
|
14
|
+
Enabled: true
|
15
|
+
EnforcedStyle: hash_rockets
|
16
|
+
|
17
|
+
Style/OptionHash:
|
18
|
+
Enabled: true
|
19
|
+
|
20
|
+
Style/RescueStandardError:
|
21
|
+
Enabled: true
|
22
|
+
EnforcedStyle: implicit
|
23
|
+
|
24
|
+
Style/StringLiterals:
|
25
|
+
Enabled: true
|
26
|
+
EnforcedStyle: double_quotes
|
27
|
+
|
28
|
+
Style/WordArray:
|
29
|
+
Enabled: true
|
30
|
+
|
31
|
+
Style/YodaCondition:
|
32
|
+
Enabled: false
|
data/.rubocop.yml
CHANGED
@@ -1,127 +1,10 @@
|
|
1
|
-
|
1
|
+
inherit_from:
|
2
|
+
- .rubocop_todo.yml
|
3
|
+
- .rubocop/layout.yml
|
4
|
+
- .rubocop/style.yml
|
2
5
|
|
3
6
|
AllCops:
|
4
|
-
|
7
|
+
DefaultFormatter: fuubar
|
5
8
|
DisplayCopNames: true
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
Layout/AlignHash:
|
10
|
-
EnforcedColonStyle: table
|
11
|
-
EnforcedHashRocketStyle: table
|
12
|
-
|
13
|
-
Layout/DotPosition:
|
14
|
-
EnforcedStyle: trailing
|
15
|
-
|
16
|
-
Layout/SpaceAroundOperators:
|
17
|
-
AllowForAlignment: true
|
18
|
-
|
19
|
-
Layout/SpaceInsideHashLiteralBraces:
|
20
|
-
EnforcedStyle: no_space
|
21
|
-
|
22
|
-
## Metrics #####################################################################
|
23
|
-
|
24
|
-
Metrics/AbcSize:
|
25
|
-
Enabled: false
|
26
|
-
|
27
|
-
Metrics/BlockLength:
|
28
|
-
Exclude:
|
29
|
-
- "spec/**/*"
|
30
|
-
- "**/*.gemspec"
|
31
|
-
|
32
|
-
Metrics/BlockNesting:
|
33
|
-
Max: 2
|
34
|
-
|
35
|
-
Metrics/ClassLength:
|
36
|
-
CountComments: false
|
37
|
-
Max: 125
|
38
|
-
|
39
|
-
# TODO: Lower to 6
|
40
|
-
Metrics/CyclomaticComplexity:
|
41
|
-
Max: 8
|
42
|
-
|
43
|
-
Metrics/PerceivedComplexity:
|
44
|
-
Max: 8
|
45
|
-
|
46
|
-
# TODO: Lower to 80
|
47
|
-
Metrics/LineLength:
|
48
|
-
AllowURI: true
|
49
|
-
Max: 143
|
50
|
-
|
51
|
-
# TODO: Lower to 15
|
52
|
-
Metrics/MethodLength:
|
53
|
-
CountComments: false
|
54
|
-
Max: 25
|
55
|
-
|
56
|
-
Metrics/ModuleLength:
|
57
|
-
CountComments: false
|
58
|
-
Max: 120
|
59
|
-
|
60
|
-
Metrics/ParameterLists:
|
61
|
-
Max: 5
|
62
|
-
CountKeywordArgs: true
|
63
|
-
|
64
|
-
## Performance #################################################################
|
65
|
-
|
66
|
-
# XXX: requires ruby 2.4+
|
67
|
-
Performance/RegexpMatch:
|
68
|
-
Enabled: false
|
69
|
-
|
70
|
-
Performance/UnfreezeString:
|
71
|
-
Enabled: false
|
72
|
-
|
73
|
-
## Style #######################################################################
|
74
|
-
|
75
|
-
Style/CollectionMethods:
|
76
|
-
PreferredMethods:
|
77
|
-
collect: 'map'
|
78
|
-
reduce: 'inject'
|
79
|
-
find: 'detect'
|
80
|
-
find_all: 'select'
|
81
|
-
|
82
|
-
Style/Documentation:
|
83
|
-
Enabled: false
|
84
|
-
|
85
|
-
Style/DoubleNegation:
|
86
|
-
Enabled: false
|
87
|
-
|
88
|
-
Style/EachWithObject:
|
89
|
-
Enabled: false
|
90
|
-
|
91
|
-
Style/Encoding:
|
92
|
-
Enabled: false
|
93
|
-
|
94
|
-
Style/EmptyCaseCondition:
|
95
|
-
Enabled: false
|
96
|
-
|
97
|
-
# XXX: Lots of times it suggests making code terrible to read.
|
98
|
-
Style/GuardClause:
|
99
|
-
Enabled: false
|
100
|
-
|
101
|
-
Style/HashSyntax:
|
102
|
-
EnforcedStyle: hash_rockets
|
103
|
-
|
104
|
-
Style/Lambda:
|
105
|
-
Enabled: false
|
106
|
-
|
107
|
-
Style/OptionHash:
|
108
|
-
Enabled: true
|
109
|
-
|
110
|
-
# XXX: requires ruby 2.3+
|
111
|
-
Style/SafeNavigation:
|
112
|
-
Enabled: false
|
113
|
-
|
114
|
-
Style/StringLiterals:
|
115
|
-
EnforcedStyle: double_quotes
|
116
|
-
|
117
|
-
Style/TrivialAccessors:
|
118
|
-
Enabled: false
|
119
|
-
|
120
|
-
Style/YodaCondition:
|
121
|
-
Enabled: false
|
122
|
-
|
123
|
-
Style/FormatStringToken:
|
124
|
-
EnforcedStyle: unannotated
|
125
|
-
|
126
|
-
Style/RescueStandardError:
|
127
|
-
EnforcedStyle: implicit
|
9
|
+
NewCops: enable
|
10
|
+
TargetRubyVersion: 2.5
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,192 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 42`
|
3
|
+
# on 2021-04-10 09:49:03 UTC using RuboCop version 1.12.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 53
|
10
|
+
# Cop supports --auto-correct.
|
11
|
+
# Configuration parameters: EnforcedStyle.
|
12
|
+
# SupportedStyles: leading, trailing
|
13
|
+
Layout/DotPosition:
|
14
|
+
Exclude:
|
15
|
+
- 'lib/http/options.rb'
|
16
|
+
- 'spec/lib/http/client_spec.rb'
|
17
|
+
- 'spec/lib/http/features/auto_deflate_spec.rb'
|
18
|
+
- 'spec/lib/http/headers_spec.rb'
|
19
|
+
- 'spec/lib/http/options/features_spec.rb'
|
20
|
+
- 'spec/lib/http/redirector_spec.rb'
|
21
|
+
- 'spec/lib/http/response/body_spec.rb'
|
22
|
+
- 'spec/lib/http_spec.rb'
|
23
|
+
- 'spec/support/http_handling_shared.rb'
|
24
|
+
|
25
|
+
# Offense count: 174
|
26
|
+
# Cop supports --auto-correct.
|
27
|
+
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
|
28
|
+
# SupportedStyles: space, no_space, compact
|
29
|
+
# SupportedStylesForEmptyBraces: space, no_space
|
30
|
+
Layout/SpaceInsideHashLiteralBraces:
|
31
|
+
Exclude:
|
32
|
+
- 'lib/http/chainable.rb'
|
33
|
+
- 'spec/lib/http/client_spec.rb'
|
34
|
+
- 'spec/lib/http/features/auto_inflate_spec.rb'
|
35
|
+
- 'spec/lib/http/features/instrumentation_spec.rb'
|
36
|
+
- 'spec/lib/http/features/logging_spec.rb'
|
37
|
+
- 'spec/lib/http/headers_spec.rb'
|
38
|
+
- 'spec/lib/http/options/features_spec.rb'
|
39
|
+
- 'spec/lib/http/options/merge_spec.rb'
|
40
|
+
- 'spec/lib/http/options/new_spec.rb'
|
41
|
+
- 'spec/lib/http/redirector_spec.rb'
|
42
|
+
- 'spec/lib/http/request_spec.rb'
|
43
|
+
- 'spec/lib/http/response_spec.rb'
|
44
|
+
- 'spec/lib/http_spec.rb'
|
45
|
+
- 'spec/support/dummy_server/servlet.rb'
|
46
|
+
- 'spec/support/http_handling_shared.rb'
|
47
|
+
- 'spec/support/ssl_helper.rb'
|
48
|
+
|
49
|
+
# Offense count: 4
|
50
|
+
Lint/MissingSuper:
|
51
|
+
Exclude:
|
52
|
+
- 'lib/http/features/auto_deflate.rb'
|
53
|
+
- 'lib/http/features/instrumentation.rb'
|
54
|
+
- 'lib/http/features/logging.rb'
|
55
|
+
- 'lib/http/features/normalize_uri.rb'
|
56
|
+
|
57
|
+
# Offense count: 8
|
58
|
+
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes, Max.
|
59
|
+
Metrics/AbcSize:
|
60
|
+
Exclude:
|
61
|
+
- 'lib/http/chainable.rb'
|
62
|
+
- 'lib/http/client.rb'
|
63
|
+
- 'lib/http/connection.rb'
|
64
|
+
- 'lib/http/features/auto_deflate.rb'
|
65
|
+
- 'lib/http/redirector.rb'
|
66
|
+
- 'lib/http/request.rb'
|
67
|
+
- 'lib/http/response.rb'
|
68
|
+
|
69
|
+
# Offense count: 66
|
70
|
+
# Configuration parameters: CountComments, Max, CountAsOne, ExcludedMethods, IgnoredMethods.
|
71
|
+
# IgnoredMethods: refine
|
72
|
+
Metrics/BlockLength:
|
73
|
+
Exclude:
|
74
|
+
- '**/*.gemspec'
|
75
|
+
- 'spec/lib/http/client_spec.rb'
|
76
|
+
- 'spec/lib/http/connection_spec.rb'
|
77
|
+
- 'spec/lib/http/content_type_spec.rb'
|
78
|
+
- 'spec/lib/http/features/auto_deflate_spec.rb'
|
79
|
+
- 'spec/lib/http/features/auto_inflate_spec.rb'
|
80
|
+
- 'spec/lib/http/features/instrumentation_spec.rb'
|
81
|
+
- 'spec/lib/http/features/logging_spec.rb'
|
82
|
+
- 'spec/lib/http/headers/mixin_spec.rb'
|
83
|
+
- 'spec/lib/http/headers_spec.rb'
|
84
|
+
- 'spec/lib/http/options/merge_spec.rb'
|
85
|
+
- 'spec/lib/http/redirector_spec.rb'
|
86
|
+
- 'spec/lib/http/request/body_spec.rb'
|
87
|
+
- 'spec/lib/http/request/writer_spec.rb'
|
88
|
+
- 'spec/lib/http/request_spec.rb'
|
89
|
+
- 'spec/lib/http/response/body_spec.rb'
|
90
|
+
- 'spec/lib/http/response/parser_spec.rb'
|
91
|
+
- 'spec/lib/http/response/status_spec.rb'
|
92
|
+
- 'spec/lib/http/response_spec.rb'
|
93
|
+
- 'spec/lib/http_spec.rb'
|
94
|
+
- 'spec/support/http_handling_shared.rb'
|
95
|
+
|
96
|
+
# Offense count: 4
|
97
|
+
# Configuration parameters: CountComments, Max, CountAsOne.
|
98
|
+
Metrics/ClassLength:
|
99
|
+
Exclude:
|
100
|
+
- 'lib/http/client.rb'
|
101
|
+
- 'lib/http/connection.rb'
|
102
|
+
- 'lib/http/headers.rb'
|
103
|
+
- 'lib/http/request.rb'
|
104
|
+
|
105
|
+
# Offense count: 2
|
106
|
+
# Configuration parameters: IgnoredMethods, Max.
|
107
|
+
Metrics/CyclomaticComplexity:
|
108
|
+
Exclude:
|
109
|
+
- 'lib/http/chainable.rb'
|
110
|
+
- 'lib/http/client.rb'
|
111
|
+
|
112
|
+
# Offense count: 19
|
113
|
+
# Configuration parameters: CountComments, Max, CountAsOne, ExcludedMethods, IgnoredMethods.
|
114
|
+
Metrics/MethodLength:
|
115
|
+
Exclude:
|
116
|
+
- 'lib/http/chainable.rb'
|
117
|
+
- 'lib/http/client.rb'
|
118
|
+
- 'lib/http/connection.rb'
|
119
|
+
- 'lib/http/features/auto_deflate.rb'
|
120
|
+
- 'lib/http/features/auto_inflate.rb'
|
121
|
+
- 'lib/http/headers.rb'
|
122
|
+
- 'lib/http/options.rb'
|
123
|
+
- 'lib/http/redirector.rb'
|
124
|
+
- 'lib/http/request.rb'
|
125
|
+
- 'lib/http/response.rb'
|
126
|
+
- 'lib/http/response/body.rb'
|
127
|
+
- 'lib/http/timeout/global.rb'
|
128
|
+
|
129
|
+
# Offense count: 1
|
130
|
+
# Configuration parameters: CountComments, Max, CountAsOne.
|
131
|
+
Metrics/ModuleLength:
|
132
|
+
Exclude:
|
133
|
+
- 'lib/http/chainable.rb'
|
134
|
+
|
135
|
+
# Offense count: 2
|
136
|
+
# Cop supports --auto-correct.
|
137
|
+
# Configuration parameters: EnforcedStyle.
|
138
|
+
# SupportedStyles: separated, grouped
|
139
|
+
Style/AccessorGrouping:
|
140
|
+
Exclude:
|
141
|
+
- 'lib/http/request.rb'
|
142
|
+
|
143
|
+
# Offense count: 4
|
144
|
+
# Cop supports --auto-correct.
|
145
|
+
Style/EmptyCaseCondition:
|
146
|
+
Exclude:
|
147
|
+
- 'lib/http/client.rb'
|
148
|
+
- 'lib/http/headers.rb'
|
149
|
+
- 'lib/http/options.rb'
|
150
|
+
- 'lib/http/response/status.rb'
|
151
|
+
|
152
|
+
# Offense count: 5
|
153
|
+
# Cop supports --auto-correct.
|
154
|
+
Style/Encoding:
|
155
|
+
Exclude:
|
156
|
+
- 'spec/lib/http/client_spec.rb'
|
157
|
+
- 'spec/lib/http/request/writer_spec.rb'
|
158
|
+
- 'spec/lib/http/request_spec.rb'
|
159
|
+
- 'spec/lib/http_spec.rb'
|
160
|
+
- 'spec/support/dummy_server/servlet.rb'
|
161
|
+
|
162
|
+
# Offense count: 17
|
163
|
+
# Configuration parameters: SuspiciousParamNames.
|
164
|
+
# SuspiciousParamNames: options, opts, args, params, parameters
|
165
|
+
Style/OptionHash:
|
166
|
+
Exclude:
|
167
|
+
- 'lib/http/chainable.rb'
|
168
|
+
- 'lib/http/client.rb'
|
169
|
+
- 'lib/http/feature.rb'
|
170
|
+
- 'lib/http/options.rb'
|
171
|
+
- 'lib/http/redirector.rb'
|
172
|
+
- 'lib/http/timeout/null.rb'
|
173
|
+
- 'spec/support/dummy_server.rb'
|
174
|
+
|
175
|
+
# Offense count: 4
|
176
|
+
# Configuration parameters: AllowedMethods.
|
177
|
+
# AllowedMethods: respond_to_missing?
|
178
|
+
Style/OptionalBooleanParameter:
|
179
|
+
Exclude:
|
180
|
+
- 'lib/http/timeout/global.rb'
|
181
|
+
- 'lib/http/timeout/null.rb'
|
182
|
+
- 'lib/http/timeout/per_operation.rb'
|
183
|
+
- 'lib/http/uri.rb'
|
184
|
+
|
185
|
+
# Offense count: 3
|
186
|
+
# Cop supports --auto-correct.
|
187
|
+
# Configuration parameters: AutoCorrect, Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
188
|
+
# URISchemes: http, https
|
189
|
+
Layout/LineLength:
|
190
|
+
Exclude:
|
191
|
+
- 'lib/http/chainable.rb'
|
192
|
+
- 'spec/lib/http/options/proxy_spec.rb'
|
data/CHANGES.md
CHANGED
@@ -1,4 +1,84 @@
|
|
1
|
-
##
|
1
|
+
## 5.0.3 (2021-10-06)
|
2
|
+
|
3
|
+
* [#695](https://github.com/httprb/http/pull/695)
|
4
|
+
Revert DNS resolving feature.
|
5
|
+
([@PhilCoggins])
|
6
|
+
|
7
|
+
* [#694](https://github.com/httprb/http/pull/694)
|
8
|
+
Fix cookies extraction.
|
9
|
+
([@flosacca])
|
10
|
+
|
11
|
+
## 5.0.2 (2021-09-10)
|
12
|
+
|
13
|
+
* [#686](https://github.com/httprb/http/pull/686)
|
14
|
+
Correctly reset the parser.
|
15
|
+
([@bryanp])
|
16
|
+
|
17
|
+
* [#684](https://github.com/httprb/http/pull/684)
|
18
|
+
Don't set Content-Length for GET, HEAD, DELETE, or CONNECT requests without a BODY.
|
19
|
+
([@jyn514])
|
20
|
+
|
21
|
+
* [#679](https://github.com/httprb/http/pull/679)
|
22
|
+
Use features on redirected requests.
|
23
|
+
([@nomis])
|
24
|
+
|
25
|
+
* [#678](https://github.com/schwern)
|
26
|
+
Restore `HTTP::Response` `:uri` option for backwards compatibility.
|
27
|
+
([@schwern])
|
28
|
+
|
29
|
+
* [#676](https://github.com/httprb/http/pull/676)
|
30
|
+
Update addressable because of CVE-2021-32740.
|
31
|
+
([@matheussilvasantos])
|
32
|
+
|
33
|
+
* [#653](https://github.com/httprb/http/pull/653)
|
34
|
+
Avoid force encodings on frozen strings.
|
35
|
+
([@bvicenzo])
|
36
|
+
|
37
|
+
* [#638](https://github.com/httprb/http/pull/638)
|
38
|
+
DNS failover handling.
|
39
|
+
([@midnight-wonderer])
|
40
|
+
|
41
|
+
|
42
|
+
## 5.0.1 (2021-06-26)
|
43
|
+
|
44
|
+
* [#670](https://github.com/httprb/http/pull/670)
|
45
|
+
Revert `Response#parse` behavior introduced in [#540].
|
46
|
+
([@DannyBen])
|
47
|
+
|
48
|
+
* [#669](https://github.com/httprb/http/pull/669)
|
49
|
+
Prevent bodies from being resubmitted when following unsafe redirects.
|
50
|
+
([@odinhb])
|
51
|
+
|
52
|
+
* [#664](https://github.com/httprb/http/pull/664)
|
53
|
+
Bump llhttp-ffi to 0.3.0.
|
54
|
+
([@bryanp])
|
55
|
+
|
56
|
+
|
57
|
+
## 5.0.0 (2021-05-12)
|
58
|
+
|
59
|
+
* [#656](https://github.com/httprb/http/pull/656)
|
60
|
+
Handle connection timeouts in `Features`
|
61
|
+
([@semenyukdmitry])
|
62
|
+
|
63
|
+
* [#651](https://github.com/httprb/http/pull/651)
|
64
|
+
Replace `http-parser` with `llhttp`
|
65
|
+
([@bryanp])
|
66
|
+
|
67
|
+
* [#647](https://github.com/httprb/http/pull/647)
|
68
|
+
Add support for `MKCALENDAR` HTTP verb
|
69
|
+
([@meanphil])
|
70
|
+
|
71
|
+
* [#632](https://github.com/httprb/http/pull/632)
|
72
|
+
Respect the SSL context's `verify_hostname` value
|
73
|
+
([@colemannugent])
|
74
|
+
|
75
|
+
* [#625](https://github.com/httprb/http/pull/625)
|
76
|
+
Fix inflator with empty responses
|
77
|
+
([@LukaszMaslej])
|
78
|
+
|
79
|
+
* [#599](https://github.com/httprb/http/pull/599)
|
80
|
+
Allow passing `HTTP::FormData::{Multipart,UrlEncoded}` object directly.
|
81
|
+
([@ixti])
|
2
82
|
|
3
83
|
* [#593](https://github.com/httprb/http/pull/593)
|
4
84
|
[#592](https://github.com/httprb/http/issues/592)
|
@@ -29,6 +109,12 @@
|
|
29
109
|
Preserve header names casing.
|
30
110
|
([@joshuaflanagan])
|
31
111
|
|
112
|
+
* [#540](https://github.com/httprb/http/pull/540)
|
113
|
+
[#538](https://github.com/httprb/http/issues/538)
|
114
|
+
**BREAKING CHANGE**
|
115
|
+
Require explicit MIME type for Response#parse
|
116
|
+
([@ixti])
|
117
|
+
|
32
118
|
* [#532](https://github.com/httprb/http/pull/532)
|
33
119
|
Fix pipes support in request bodies.
|
34
120
|
([@ixti])
|
@@ -55,6 +141,27 @@
|
|
55
141
|
Drop Ruby 2.3.x support.
|
56
142
|
([@ixti])
|
57
143
|
|
144
|
+
* [3ed0c31](https://github.com/httprb/http/commit/3ed0c318eab6a8c390654cda17bf6df9e963c7d6)
|
145
|
+
Drop Ruby 2.4.x support.
|
146
|
+
|
147
|
+
|
148
|
+
## 4.4.0 (2020-03-25)
|
149
|
+
|
150
|
+
* Backport [#587](https://github.com/httprb/http/pull/587)
|
151
|
+
Fix redirections when server responds with multiple Location headers.
|
152
|
+
([@ixti])
|
153
|
+
|
154
|
+
* Backport [#599](https://github.com/httprb/http/pull/599)
|
155
|
+
Allow passing HTTP::FormData::{Multipart,UrlEncoded} object directly.
|
156
|
+
([@ixti])
|
157
|
+
|
158
|
+
|
159
|
+
## 4.3.0 (2020-01-09)
|
160
|
+
|
161
|
+
* Backport [#581](https://github.com/httprb/http/pull/581)
|
162
|
+
Add Ruby-2.7 compatibility.
|
163
|
+
([@ixti], [@janko])
|
164
|
+
|
58
165
|
|
59
166
|
## 4.2.0 (2019-10-22)
|
60
167
|
|
@@ -840,3 +947,18 @@ end
|
|
840
947
|
[@mamoonraja]: https://github.com/mamoonraja
|
841
948
|
[@joshuaflanagan]: https://github.com/joshuaflanagan
|
842
949
|
[@antonvolkoff]: https://github.com/antonvolkoff
|
950
|
+
[@LukaszMaslej]: https://github.com/LukaszMaslej
|
951
|
+
[@colemannugent]: https://github.com/colemannugent
|
952
|
+
[@semenyukdmitry]: https://github.com/semenyukdmitry
|
953
|
+
[@bryanp]: https://github.com/bryanp
|
954
|
+
[@meanphil]: https://github.com/meanphil
|
955
|
+
[@odinhb]: https://github.com/odinhb
|
956
|
+
[@DannyBen]: https://github.com/DannyBen
|
957
|
+
[@jyn514]: https://github.com/jyn514
|
958
|
+
[@bvicenzo]: https://github.com/bvicenzo
|
959
|
+
[@nomis]: https://github.com/nomis
|
960
|
+
[@midnight-wonderer]: https://github.com/midnight-wonderer
|
961
|
+
[@schwern]: https://github.com/schwern
|
962
|
+
[@matheussilvasantos]: https://github.com/matheussilvasantos
|
963
|
+
[@PhilCoggins]: https://github.com/PhilCoggins
|
964
|
+
[@flosacca]: https://github.com/flosacca
|
data/Gemfile
CHANGED
@@ -5,32 +5,39 @@ ruby RUBY_VERSION
|
|
5
5
|
|
6
6
|
gem "rake"
|
7
7
|
|
8
|
+
# Ruby 3.0 does not ship it anymore.
|
9
|
+
# TODO: We should probably refactor specs to avoid need for it.
|
10
|
+
gem "webrick"
|
11
|
+
|
8
12
|
group :development do
|
9
13
|
gem "guard-rspec", :require => false
|
10
14
|
gem "nokogiri", :require => false
|
11
15
|
gem "pry", :require => false
|
12
16
|
|
13
|
-
|
14
|
-
|
15
|
-
|
17
|
+
# RSpec formatter
|
18
|
+
gem "fuubar", :require => false
|
19
|
+
|
20
|
+
platform :mri do
|
21
|
+
gem "pry-byebug"
|
16
22
|
end
|
17
23
|
end
|
18
24
|
|
19
25
|
group :test do
|
20
|
-
gem "
|
21
|
-
gem "certificate_authority", :require => false
|
26
|
+
gem "certificate_authority", "~> 1.0", :require => false
|
22
27
|
|
23
28
|
gem "backports"
|
24
29
|
|
25
|
-
gem "
|
26
|
-
gem "
|
30
|
+
gem "rubocop", "~> 1.21"
|
31
|
+
gem "rubocop-performance"
|
32
|
+
gem "rubocop-rake"
|
33
|
+
gem "rubocop-rspec"
|
34
|
+
|
35
|
+
gem "simplecov", :require => false
|
36
|
+
gem "simplecov-lcov", :require => false
|
27
37
|
|
28
|
-
gem "rspec", "~> 3.
|
38
|
+
gem "rspec", "~> 3.10"
|
29
39
|
gem "rspec-its"
|
30
40
|
|
31
|
-
gem "rubocop", "= 0.68.1"
|
32
|
-
gem "rubocop-performance"
|
33
|
-
|
34
41
|
gem "yardstick"
|
35
42
|
end
|
36
43
|
|
data/LICENSE.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2011-
|
1
|
+
Copyright (c) 2011-2021 Tony Arcieri, Erik Michaels-Ober, Alexey V. Zapparov, Zachary Anker
|
2
2
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining
|
4
4
|
a copy of this software and associated documentation files (the
|