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 11Unreleased Changes
22------------------
33
4+ * Issue - Remove event stream max payload size and headers length checks.
5+
461.3.0 (2023-11-22)
57------------------
68
Original file line number Diff line number Diff line change @@ -41,12 +41,6 @@ class Encoder
4141 # and 4 bytes total message crc checksum
4242 OVERHEAD_LENGTH = 16
4343
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-
5044 # Encodes Aws::EventStream::Message to output IO when
5145 # provided, else return the encoded binary string
5246 #
@@ -81,9 +75,6 @@ def encode_message(message)
8175 encoded_header = encode_headers ( message )
8276 header_length = encoded_header . bytesize
8377 # encode payload
84- if message . payload . length > MAX_PAYLOAD_LENGTH
85- raise Aws ::EventStream ::Errors ::EventPayloadLengthExceedError . new
86- end
8778 encoded_payload = message . payload . read
8879 total_length = header_length + encoded_payload . bytesize + OVERHEAD_LENGTH
8980
@@ -124,10 +115,7 @@ def encode_headers(message)
124115 pattern ? [ value . value ] . pack ( pattern ) : value . value ,
125116 ] . pack ( 'a*a*a*' )
126117 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
131119 end
132120
133121 private
Original file line number Diff line number Diff line change @@ -32,18 +32,6 @@ def initialize(*args)
3232 end
3333 end
3434
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-
4735 end
4836 end
4937end
Original file line number Diff line number Diff line change @@ -25,33 +25,25 @@ module EventStream
2525 expect ( test_io . string . freeze ) . to eq ( expectation )
2626 end
2727 end
28- end
29-
30- describe '#encode error' do
3128
32- it 'raises an error when payload exceeds' do
33- payload = double ( 'payload' , :length => 16777217 )
29+ it 'encodes large payloads' do
3430 message = Aws ::EventStream ::Message . new (
3531 headers : { } ,
36- payload : payload
32+ payload : StringIO . new ( '.' * 24 * 1024 * 1024 )
3733 )
38- expect {
39- Encoder . new . encode ( message )
40- } . to raise_error ( Aws ::EventStream ::Errors ::EventPayloadLengthExceedError )
34+ Encoder . new . encode ( message )
4135 end
4236
43- it 'raises an error when encoded headers exceeds ' do
37+ it 'encodes long headers' do
4438 headers = { }
4539 headers [ 'foo' ] = Aws ::EventStream ::HeaderValue . new (
46- value : '*' * 131073 , type : 'string'
40+ value : '*' * 131_073 , type : 'string'
4741 )
4842 message = Aws ::EventStream ::Message . new (
4943 headers : headers ,
5044 payload : StringIO . new
5145 )
52- expect {
53- Encoder . new . encode ( message )
54- } . to raise_error ( Aws ::EventStream ::Errors ::EventHeadersLengthExceedError )
46+ Encoder . new . encode ( message )
5547
5648 end
5749
You can’t perform that action at this time.
0 commit comments