protocol-http1 0.17.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +3 -1
- data/lib/protocol/http1/body/remainder.rb +8 -2
- data/lib/protocol/http1/connection.rb +8 -0
- data/lib/protocol/http1/version.rb +2 -2
- data/license.md +2 -1
- data.tar.gz.sig +0 -0
- metadata +4 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7a6cf842ade6ce23877b507858ce512bfcc0de8866d509c7a0fdb0244a24269
|
4
|
+
data.tar.gz: 72021fd23b1e6be7335af6022d419f1e045f5bf11f1e534ddad0d6fb5fa2d994
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 96e579125e0510b1a0f3d2fb8c292fb8d4b24da565031b5b07aa329514a7e181af83cf8dfb3bb7ab35b88a1963c7d13e60a27c319c86d649d8e84effee8e58a7
|
7
|
+
data.tar.gz: 87f542d92abd2aea50a88c5601743a6298beb91ddddb22580b61f14c9ef078c797ca529d589233888e8f92fc34ddc17fdc8df2d121bcfd5811245de094c8da18
|
checksums.yaml.gz.sig
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Released under the MIT License.
|
4
|
-
# Copyright, 2019-
|
4
|
+
# Copyright, 2019-2024, by Samuel Williams.
|
5
5
|
|
6
6
|
require 'protocol/http/body/readable'
|
7
7
|
|
@@ -14,15 +14,17 @@ module Protocol
|
|
14
14
|
# block_size may be removed in the future. It is better managed by stream.
|
15
15
|
def initialize(stream)
|
16
16
|
@stream = stream
|
17
|
+
@empty = false
|
17
18
|
end
|
18
19
|
|
19
20
|
def empty?
|
20
|
-
@
|
21
|
+
@empty or @stream.closed?
|
21
22
|
end
|
22
23
|
|
23
24
|
def close(error = nil)
|
24
25
|
# We can't really do anything in this case except close the connection.
|
25
26
|
@stream.close
|
27
|
+
@empty = true
|
26
28
|
|
27
29
|
super
|
28
30
|
end
|
@@ -31,6 +33,8 @@ module Protocol
|
|
31
33
|
def read
|
32
34
|
@stream.readpartial(BLOCK_SIZE)
|
33
35
|
rescue EOFError, IOError
|
36
|
+
@empty = true
|
37
|
+
|
34
38
|
# I noticed that in some cases you will get EOFError, and in other cases IOError!?
|
35
39
|
return nil
|
36
40
|
end
|
@@ -45,6 +49,8 @@ module Protocol
|
|
45
49
|
|
46
50
|
def join
|
47
51
|
@stream.read
|
52
|
+
ensure
|
53
|
+
@empty = true
|
48
54
|
end
|
49
55
|
|
50
56
|
def inspect
|
@@ -5,6 +5,7 @@
|
|
5
5
|
# Copyright, 2019, by Brian Morearty.
|
6
6
|
# Copyright, 2020, by Bruno Sutic.
|
7
7
|
# Copyright, 2023, by Thomas Morgan.
|
8
|
+
# Copyright, 2024, by Anton Zhuravsky.
|
8
9
|
|
9
10
|
require 'protocol/http/headers'
|
10
11
|
|
@@ -104,6 +105,13 @@ module Protocol
|
|
104
105
|
def write_upgrade_header(upgrade)
|
105
106
|
@stream.write("connection: upgrade\r\nupgrade: #{upgrade}\r\n")
|
106
107
|
end
|
108
|
+
|
109
|
+
# Indicates whether the connection has been hijacked meaning its
|
110
|
+
# IO has been handed over and is not usable anymore.
|
111
|
+
# @return [Boolean] hijack status
|
112
|
+
def hijacked?
|
113
|
+
@stream.nil?
|
114
|
+
end
|
107
115
|
|
108
116
|
# Effectively close the connection and return the underlying IO.
|
109
117
|
# @return [IO] the underlying non-blocking IO.
|
data/license.md
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
# MIT License
|
2
2
|
|
3
|
-
Copyright, 2019-
|
3
|
+
Copyright, 2019-2024, by Samuel Williams.
|
4
4
|
Copyright, 2019, by Brian Morearty.
|
5
5
|
Copyright, 2020, by Olle Jonsson.
|
6
6
|
Copyright, 2020, by Bruno Sutic.
|
7
7
|
Copyright, 2023, by Thomas Morgan.
|
8
|
+
Copyright, 2024, by Anton Zhuravsky.
|
8
9
|
|
9
10
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
10
11
|
of this software and associated documentation files (the "Software"), to deal
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protocol-http1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
- Thomas Morgan
|
9
|
+
- Anton Zhuravsky
|
9
10
|
- Brian Morearty
|
10
11
|
- Bruno Sutic
|
11
12
|
- Olle Jonsson
|
@@ -41,7 +42,7 @@ cert_chain:
|
|
41
42
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
42
43
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
43
44
|
-----END CERTIFICATE-----
|
44
|
-
date:
|
45
|
+
date: 2024-04-05 00:00:00.000000000 Z
|
45
46
|
dependencies:
|
46
47
|
- !ruby/object:Gem::Dependency
|
47
48
|
name: protocol-http
|
@@ -92,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
93
|
- !ruby/object:Gem::Version
|
93
94
|
version: '0'
|
94
95
|
requirements: []
|
95
|
-
rubygems_version: 3.
|
96
|
+
rubygems_version: 3.5.3
|
96
97
|
signing_key:
|
97
98
|
specification_version: 4
|
98
99
|
summary: A low level implementation of the HTTP/1 protocol.
|
metadata.gz.sig
CHANGED
Binary file
|