apia 3.7.1 → 3.7.2

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: 3ca83d2cf83582c065e6af3a0ee926956ef3be223c0855103ee3df4a1bb5cd06
4
- data.tar.gz: b6c384351af2236c7755c64e4b6c138594967079d6cb67587420f7773d64666f
3
+ metadata.gz: 5516f53625b231f86ae297b41c2b3939058685ec3ab69ce6cd210c2fc25c277a
4
+ data.tar.gz: 051c427ba4ba188b61a14071f2c36ca4c90509a109126c8336e43b4a3c59b435
5
5
  SHA512:
6
- metadata.gz: 6ec614a5e14c0b146f1deb03e9193b3aad0a9f3e093f8b4fef298bc4e258308396c7d7ace3a3518b71b299b69ca202518ccd4edc957ab0014628643d46fc2740
7
- data.tar.gz: 994a2a935d9c78da37e88f983b4e2e2466f229fba9801615a07f87a52ea3196fe49405311a56e481810c812efee6f342e7d92d133c6a9c292843af6a674f34f9
6
+ metadata.gz: 43a29e0260f50c640a34c88d3224f446911dc5defdb4e21e5a617e80af27b1c87d1495f8d8a5a164d49ab747836f5d19dc6303bff916e0f7c4eae24c1f704209
7
+ data.tar.gz: ed2d4c4f0c69b0455f16948f811e82dfc1f2867a1edaef9850151c693d3642c9bcbf5c7e9eb6a4df2c4334a2dd16e324e44ee7adc30a1685c301a2a832aa6d6f
@@ -69,7 +69,7 @@ module Apia
69
69
 
70
70
  field :pagination, type: PaginationObject
71
71
  end
72
- super(name, *args, type: type, **options, &block)
72
+ super
73
73
  end
74
74
 
75
75
  def fields(fieldset)
data/lib/apia/endpoint.rb CHANGED
@@ -47,7 +47,7 @@ module Apia
47
47
  response = Response.new(request, self)
48
48
  environment = RequestEnvironment.new(request, response)
49
49
 
50
- catch_errors(response) do
50
+ catch_errors(response, environment) do
51
51
  # Determine an authenticator for this endpoint
52
52
  request.authenticator = definition.authenticator || request.controller&.definition&.authenticator || request.api&.definition&.authenticator
53
53
 
@@ -92,10 +92,14 @@ module Apia
92
92
  #
93
93
  # @param response [Apia::Response]
94
94
  # @return [void]
95
- def catch_errors(response)
95
+ def catch_errors(response, environment)
96
96
  yield
97
97
  rescue Apia::RuntimeError => e
98
- catch_errors(response) do
98
+ # If the error was triggered by the authenticator, the cors headers wont yet have been merged
99
+ # so ensure cors headers are merged here
100
+ response.headers.merge!(environment.cors.to_headers)
101
+
102
+ catch_errors(response, environment) do
99
103
  response.body = { error: e.hash }
100
104
  response.status = e.http_status
101
105
  response.headers['x-api-schema'] = 'json-error'
data/lib/apia/request.rb CHANGED
@@ -36,7 +36,7 @@ module Apia
36
36
  end
37
37
 
38
38
  def body?
39
- has_header?('rack.input')
39
+ has_header?(::Rack::RACK_INPUT)
40
40
  end
41
41
 
42
42
  def params
data/lib/apia/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Apia
4
4
 
5
- VERSION = '3.7.1'
5
+ VERSION = '3.7.2'
6
6
 
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apia
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.1
4
+ version: 3.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Cooke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-21 00:00:00.000000000 Z
11
+ date: 2024-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json