openapi_parameters 0.5.0 → 0.5.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 778cfe7ccd40119158a3c158b5cf1dcf8000436a4c747a1ecfa349782ffa99d1
4
- data.tar.gz: ebdb7a20b68b881e526e11fd30e05458ed8dd5dea34b16f94115e522dfa1801f
3
+ metadata.gz: b9fb7604c9fcdf41f3ff3141de0f446ec856fb7f5b43c844f50ab97262006a0b
4
+ data.tar.gz: c0cdff5e527482417602b8f31a02424f51eba52c204e68d6b05b4a4e31471132
5
5
  SHA512:
6
- metadata.gz: 61c5e95989223be85f4965355aede74739ac71a3f07ebeba9b6486ef56acf45a64093ffa23b680d1ccad28f7abbbcc4d94a6135acf4575f87f7e67773ccdd97c
7
- data.tar.gz: 82fe0b18f8a79e758b5b3a3a496a8de373cc7a47079a3944cd5a6843130c03c1ca6b5173d479a8c2c0a14697e106f2d1aa407d6181e1feac8e5b2cdd074bb4bd
6
+ metadata.gz: 71326394a35a190b065cd79e8be6d7addada1356905eca18526a1ffe5d3a557015eeeb02d434258c9f3fb941e973c8979269e3d909dce6c7ca2d3b67d1fcf609
7
+ data.tar.gz: 4adf70e976626c4434b2817691d40325ed812c31e779e740329364951719b69d008bcd0a7ba4e7b6431985650d91ef541f28de309e438a4ed1a7885858fd2e89
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.5.1] - 2025-06-17
4
+
5
+ - Raise `Rack::Utils::InvalidParameterError` when query paramter has invalid "%"-encoding
6
+
3
7
  ## [0.5.0] - 2025-04-01
4
8
 
5
9
  - Add option to remove "[]" from unpacked query openapi_parameters
@@ -6,4 +6,6 @@ module OpenapiParameters
6
6
 
7
7
  class NotSupportetError < Error
8
8
  end
9
+
10
+ InvalidParameterError = Rack::Utils::InvalidParameterError
9
11
  end
@@ -14,7 +14,7 @@ module OpenapiParameters
14
14
  end
15
15
 
16
16
  def unpack(query_string) # rubocop:disable Metrics/AbcSize
17
- parsed_query = Rack::Utils.parse_query(query_string)
17
+ parsed_query = parse_query(query_string)
18
18
  parameters.each_with_object({}) do |parameter, result|
19
19
  if parameter.deep_object?
20
20
  parsed_nested_query = Rack::Utils.parse_nested_query(query_string)
@@ -40,6 +40,14 @@ module OpenapiParameters
40
40
 
41
41
  private
42
42
 
43
+ def parse_query(query_string)
44
+ Rack::Utils.parse_query(query_string) do |s|
45
+ Rack::Utils.unescape(s)
46
+ rescue ArgumentError => e
47
+ raise Rack::Utils::InvalidParameterError, e.message
48
+ end
49
+ end
50
+
43
51
  def convert_primitive(value, parameter)
44
52
  return value unless @convert
45
53
  return value if value == ''
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenapiParameters
4
- VERSION = '0.5.0'
4
+ VERSION = '0.5.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openapi_parameters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Haller
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-04-01 00:00:00.000000000 Z
11
+ date: 2025-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack