gds-api-adapters 103.4.4 → 103.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67c7ba0293e14839870f77ec06a7bc60797d154ff3b4523df19006cdf61bcb1e
4
- data.tar.gz: d5bc86bfdc35295213bf82cc8eb473be269c98809f98f2323f5bc526e0eeb146
3
+ metadata.gz: a16eeb04e5ae0282ef96464d7bdefeabb36af1abad68f13b668c48c8da9863de
4
+ data.tar.gz: be9ba8b486eb72d934c453190ea418ceda3f201be539d61f54e21b94ad84fb6e
5
5
  SHA512:
6
- metadata.gz: e044a28163e1ea9927dc347644c41da9d86291b8c08240201fc152f6b7ad550788c91cb7b982f1e679944427387e5ebd8b4a53853225add8e12ee274444088eb
7
- data.tar.gz: 1755a3b85488e72e02906fb1250eb9f3afb2a1af5fba68d408226581487e7f8343bb3a1fe1eab94cf261cecfb3aacf9acb1788fecd9b1d1dd2b25081681f01ce
6
+ metadata.gz: 22e8d2982e271859a39da521b80271440916bb242f279f8b5f59c212ee1f51443975b71e038cd45f76b86e4b7e87114e1a0a2c95a7286af4dc230ccd0a218e8e
7
+ data.tar.gz: 169ff661db18aec63bcdedd26b533c5e0fcd6b3e742e5b22bed2fb195efca3049ffe1ae486cb33ba2888100f6714fcfa27c60eb71f0a3168ec9da455038cd59e
@@ -5,6 +5,9 @@ require_relative "exceptions"
5
5
 
6
6
  class GdsApi::ContentStore < GdsApi::Base
7
7
  def content_item(base_path)
8
+ validator = GdsApi::Validators::BasePathValidator.new(base_path)
9
+ raise GdsApi::HTTPBadRequest, validator.errors unless validator.valid?
10
+
8
11
  get_json(content_item_url(base_path))
9
12
  rescue GdsApi::HTTPNotFound => e
10
13
  raise ItemNotFound.build_from(e)
@@ -10,11 +10,13 @@ module GdsApi
10
10
  end
11
11
 
12
12
  def valid?
13
- !(base_path.nil? || no_leading_slash? || too_long? || potential_path_traversal? || ends_with_a_period? || invalid_chars?)
13
+ return true unless base_path
14
+
15
+ !(no_leading_slash? || too_long? || potential_path_traversal? || ends_with_a_period? || invalid_chars?)
14
16
  end
15
17
 
16
18
  def errors
17
- return { base_path_invalid: ["must not be nil"] } if base_path.nil?
19
+ return {} unless base_path
18
20
 
19
21
  errors = []
20
22
  errors << [:base_path_invalid, "must start with a /"] if no_leading_slash?
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = "103.4.4".freeze
2
+ VERSION = "103.5.0".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds-api-adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 103.4.4
4
+ version: 103.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
@@ -163,6 +163,20 @@ dependencies:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0.5'
166
+ - !ruby/object:Gem::Dependency
167
+ name: minitest-mock
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
166
180
  - !ruby/object:Gem::Dependency
167
181
  name: mocha
168
182
  requirement: !ruby/object:Gem::Requirement
@@ -412,7 +426,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
412
426
  - !ruby/object:Gem::Version
413
427
  version: '0'
414
428
  requirements: []
415
- rubygems_version: 4.0.19
429
+ rubygems_version: 4.0.20
416
430
  specification_version: 4
417
431
  summary: Adapters to work with GDS APIs
418
432
  test_files: []