File tree Expand file tree Collapse file tree 4 files changed +9
-39
lines changed Expand file tree Collapse file tree 4 files changed +9
-39
lines changed Original file line number Diff line number Diff line change 1
1
Unreleased Changes
2
2
------------------
3
3
4
+ * Issue - Remove event stream max payload size and headers length checks.
5
+
4
6
1.3.0 (2023-11-22)
5
7
------------------
6
8
Original file line number Diff line number Diff line change @@ -41,12 +41,6 @@ class Encoder
41
41
# and 4 bytes total message crc checksum
42
42
OVERHEAD_LENGTH = 16
43
43
44
- # Maximum header length allowed (after encode) 128kb
45
- MAX_HEADERS_LENGTH = 131072
46
-
47
- # Maximum payload length allowed (after encode) 16mb
48
- MAX_PAYLOAD_LENGTH = 16777216
49
-
50
44
# Encodes Aws::EventStream::Message to output IO when
51
45
# provided, else return the encoded binary string
52
46
#
@@ -81,9 +75,6 @@ def encode_message(message)
81
75
encoded_header = encode_headers ( message )
82
76
header_length = encoded_header . bytesize
83
77
# encode payload
84
- if message . payload . length > MAX_PAYLOAD_LENGTH
85
- raise Aws ::EventStream ::Errors ::EventPayloadLengthExceedError . new
86
- end
87
78
encoded_payload = message . payload . read
88
79
total_length = header_length + encoded_payload . bytesize + OVERHEAD_LENGTH
89
80
@@ -124,10 +115,7 @@ def encode_headers(message)
124
115
pattern ? [ value . value ] . pack ( pattern ) : value . value ,
125
116
] . pack ( 'a*a*a*' )
126
117
end
127
- header_entries . join . tap do |encoded_header |
128
- break encoded_header if encoded_header . bytesize <= MAX_HEADERS_LENGTH
129
- raise Aws ::EventStream ::Errors ::EventHeadersLengthExceedError . new
130
- end
118
+ header_entries . join
131
119
end
132
120
133
121
private
Original file line number Diff line number Diff line change @@ -32,18 +32,6 @@ def initialize(*args)
32
32
end
33
33
end
34
34
35
- class EventPayloadLengthExceedError < RuntimeError
36
- def initialize ( *args )
37
- super ( "Payload length of a message should be under 16mb." )
38
- end
39
- end
40
-
41
- class EventHeadersLengthExceedError < RuntimeError
42
- def initialize ( *args )
43
- super ( "Encoded headers length of a message should be under 128kb." )
44
- end
45
- end
46
-
47
35
end
48
36
end
49
37
end
Original file line number Diff line number Diff line change @@ -25,33 +25,25 @@ module EventStream
25
25
expect ( test_io . string . freeze ) . to eq ( expectation )
26
26
end
27
27
end
28
- end
29
-
30
- describe '#encode error' do
31
28
32
- it 'raises an error when payload exceeds' do
33
- payload = double ( 'payload' , :length => 16777217 )
29
+ it 'encodes large payloads' do
34
30
message = Aws ::EventStream ::Message . new (
35
31
headers : { } ,
36
- payload : payload
32
+ payload : StringIO . new ( '.' * 24 * 1024 * 1024 )
37
33
)
38
- expect {
39
- Encoder . new . encode ( message )
40
- } . to raise_error ( Aws ::EventStream ::Errors ::EventPayloadLengthExceedError )
34
+ Encoder . new . encode ( message )
41
35
end
42
36
43
- it 'raises an error when encoded headers exceeds ' do
37
+ it 'encodes long headers' do
44
38
headers = { }
45
39
headers [ 'foo' ] = Aws ::EventStream ::HeaderValue . new (
46
- value : '*' * 131073 , type : 'string'
40
+ value : '*' * 131_073 , type : 'string'
47
41
)
48
42
message = Aws ::EventStream ::Message . new (
49
43
headers : headers ,
50
44
payload : StringIO . new
51
45
)
52
- expect {
53
- Encoder . new . encode ( message )
54
- } . to raise_error ( Aws ::EventStream ::Errors ::EventHeadersLengthExceedError )
46
+ Encoder . new . encode ( message )
55
47
56
48
end
57
49
You can’t perform that action at this time.
0 commit comments