apia 3.7.1 → 3.7.2

Sign up to get free protection for your applications and to get access to all the features.
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