protocol-multipart 0.4.0 → 0.5.0
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
- checksums.yaml.gz.sig +0 -0
- data/lib/protocol/multipart/byte_limit.rb +3 -1
- data/lib/protocol/multipart/error.rb +12 -0
- data/lib/protocol/multipart/parser.rb +2 -1
- data/lib/protocol/multipart/version.rb +1 -1
- data/lib/protocol/multipart.rb +1 -0
- data/readme.md +4 -0
- data/releases.md +4 -0
- 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: 6a837f15946884597a70197efe8b11ecb4826bdb7c504eee9a60fe1b1d6e0666
|
|
4
|
+
data.tar.gz: 0c0c373cddf15634d278db2dc3ab8fea3db9055712d719356c4507ea68c2022c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '039281289f4c94fca34ba72ad62d58be53fba69571f355e6f5ceb1c01580900d8bbc7470ca167866c336f357d6568dfc8b2c63b766c1aed1dd0fd69b2b2d039d'
|
|
7
|
+
data.tar.gz: 821046db0d9fdbb001dc4dbcace537bdbbf5d04b80d0916643787f04741c53cbf5ba8bbb78b0a022cc19fbf43c9b81eb5639aaced247c06c4d2a864247d1efef
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
# Released under the MIT License.
|
|
4
4
|
# Copyright, 2026, by Samuel Williams.
|
|
5
5
|
|
|
6
|
+
require_relative "error"
|
|
7
|
+
|
|
6
8
|
module Protocol
|
|
7
9
|
module Multipart
|
|
8
10
|
# Tracks consumed bytes against an optional maximum.
|
|
@@ -30,7 +32,7 @@ module Protocol
|
|
|
30
32
|
@size += size
|
|
31
33
|
|
|
32
34
|
if @maximum and @size > @maximum
|
|
33
|
-
raise
|
|
35
|
+
raise LimitError, "Multipart #{@name} exceeded limit of #{@maximum}!"
|
|
34
36
|
end
|
|
35
37
|
|
|
36
38
|
return @size
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Released under the MIT License.
|
|
4
|
+
# Copyright, 2026, by Samuel Williams.
|
|
5
|
+
|
|
6
|
+
module Protocol
|
|
7
|
+
module Multipart
|
|
8
|
+
# Raised when multipart processing exceeds a configured limit.
|
|
9
|
+
class LimitError < StandardError
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Copyright, 2025, by Samuel Williams.
|
|
5
5
|
|
|
6
6
|
require "io/stream"
|
|
7
|
+
require_relative "error"
|
|
7
8
|
require_relative "headers"
|
|
8
9
|
|
|
9
10
|
module Protocol
|
|
@@ -245,7 +246,7 @@ module Protocol
|
|
|
245
246
|
|
|
246
247
|
def check_limit(name, value, limit)
|
|
247
248
|
if limit and value > limit
|
|
248
|
-
raise
|
|
249
|
+
raise LimitError, "Multipart #{name} exceeded limit of #{limit}!"
|
|
249
250
|
end
|
|
250
251
|
end
|
|
251
252
|
|
data/lib/protocol/multipart.rb
CHANGED
data/readme.md
CHANGED
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
Please see the [project releases](https://socketry.github.io/protocol-multipart/releases/index) for all releases.
|
|
8
8
|
|
|
9
|
+
### v0.5.0
|
|
10
|
+
|
|
11
|
+
- Add `Protocol::Multipart::LimitError` for configured processing limits.
|
|
12
|
+
|
|
9
13
|
### v0.4.0
|
|
10
14
|
|
|
11
15
|
- Use consistent limit naming for multipart parser constraints.
|
data/releases.md
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: protocol-multipart
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Samuel Williams
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0.
|
|
75
|
+
version: '0.9'
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0.
|
|
82
|
+
version: '0.9'
|
|
83
83
|
executables: []
|
|
84
84
|
extensions: []
|
|
85
85
|
extra_rdoc_files: []
|
|
@@ -87,6 +87,7 @@ files:
|
|
|
87
87
|
- lib/protocol/multipart.rb
|
|
88
88
|
- lib/protocol/multipart/boundary.rb
|
|
89
89
|
- lib/protocol/multipart/byte_limit.rb
|
|
90
|
+
- lib/protocol/multipart/error.rb
|
|
90
91
|
- lib/protocol/multipart/escape.rb
|
|
91
92
|
- lib/protocol/multipart/form_data.rb
|
|
92
93
|
- lib/protocol/multipart/form_data/parser.rb
|
metadata.gz.sig
CHANGED
|
Binary file
|