pact-mock_service 2.9.0 → 2.9.1

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: b82bc38bee71e0f4870efdcefd13f9959b6ec44de8ed01b9a44e7bcc1710e98d
4
- data.tar.gz: 81e5ac42bcdaa64bdfa74ab5af1a093b521aa543684f104a2f5d7acc1edb754b
3
+ metadata.gz: 3050518a4a689dc476ec7975321bf78d28acacc3469993425156d594ddc9b94d
4
+ data.tar.gz: 853cef5f4fcf1795df513a0949e3c3e8f7e708d0ade208410b7d843bb2cb7c0a
5
5
  SHA512:
6
- metadata.gz: 58a15eb3aeade226fb8b154c2422e80bddbca9706d1ce5e36d1e126a15a4dd6656f844a935657ef96cc0cf45569934c90e0c41b80003e39b01f79e27b531f376
7
- data.tar.gz: 15a02ed2aa3904b1eca749652df85f9fba5308cedb0c87cbffa99f338150c5b54acc872df17c18b9cba0582f3d7854efd1053490f6bebb49ba40bafa911c6fb6
6
+ metadata.gz: 1bc7256532cf16c15d344bcf9cab13e5ab26c4f98882c095209250fccdebfb749b6857f792767dfbf8b12264b91c3812efc07749d8e797aabb9ed5517e371ad1
7
+ data.tar.gz: b8b3dc4e6186d9c3e911fd6c599c7672c04e69283c8eb770de6d7afe357925235c16f78179edbf02f11a29139ba6a5fb44993a4c93894257a72799975548c7c2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ <a name="v2.9.1"></a>
2
+ ### v2.9.1 (2018-07-04)
3
+
4
+
5
+ #### Bug Fixes
6
+
7
+ * return Access-Control-Allow-Headers=* for OPTIONS requests with no Access-Control-Request-Headers ([855fd83](/../../commit/855fd83))
8
+
9
+
1
10
  <a name="v2.9.0"></a>
2
11
  ### v2.9.0 (2018-06-15)
3
12
 
@@ -7,6 +7,17 @@ module Pact
7
7
 
8
8
  attr_reader :name, :logger, :cors_enabled
9
9
 
10
+ HTTP_ACCESS_CONTROL_REQUEST_METHOD = "HTTP_ACCESS_CONTROL_REQUEST_METHOD".freeze
11
+ HTTP_ACCESS_CONTROL_REQUEST_HEADERS = "HTTP_ACCESS_CONTROL_REQUEST_HEADERS".freeze
12
+ ACCESS_CONTROL_ALLOW_ORIGIN = "Access-Control-Allow-Origin".freeze
13
+ ACCESS_CONTROL_ALLOW_METHODS = "Access-Control-Allow-Methods".freeze
14
+ ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers".freeze
15
+ HTTP_ORIGIN = "HTTP_ORIGIN".freeze
16
+ ALL_METHODS = "DELETE, POST, GET, HEAD, PUT, TRACE, CONNECT, PATCH".freeze
17
+ REQUEST_METHOD = "REQUEST_METHOD".freeze
18
+ OPTIONS = "OPTIONS".freeze
19
+ X_PACT_MOCK_SERVICE_REGEXP = /x-pact-mock-service/i
20
+
10
21
  def initialize name, logger, cors_enabled
11
22
  @name = name
12
23
  @logger = logger
@@ -14,25 +25,26 @@ module Pact
14
25
  end
15
26
 
16
27
  def match? env
17
- is_options_request?(env) && (cors_enabled || is_administration_request?(env))
28
+ is_options_request?(env) && (cors_enabled || is_administration_request?(env))
18
29
  end
19
30
 
20
31
  def respond env
21
32
  cors_headers = {
22
- 'Access-Control-Allow-Origin' => env.fetch('HTTP_ORIGIN','*'),
23
- 'Access-Control-Allow-Headers' => headers_from(env)["Access-Control-Request-Headers"],
24
- 'Access-Control-Allow-Methods' => 'DELETE, POST, GET, HEAD, PUT, TRACE, CONNECT, PATCH'
33
+ ACCESS_CONTROL_ALLOW_ORIGIN => env.fetch(HTTP_ORIGIN,'*'),
34
+ ACCESS_CONTROL_ALLOW_HEADERS => env.fetch(HTTP_ACCESS_CONTROL_REQUEST_HEADERS, '*'),
35
+ ACCESS_CONTROL_ALLOW_METHODS => ALL_METHODS
25
36
  }
26
- logger.info "Received OPTIONS request for mock service administration endpoint #{env['HTTP_ACCESS_CONTROL_REQUEST_METHOD']} #{env['PATH_INFO']}. Returning CORS headers: #{cors_headers.to_json}."
37
+
38
+ logger.info "Received OPTIONS request for mock service administration endpoint #{env[HTTP_ACCESS_CONTROL_REQUEST_METHOD]} #{env['PATH_INFO']}. Returning CORS headers: #{cors_headers}."
27
39
  [200, cors_headers, []]
28
40
  end
29
41
 
30
42
  def is_options_request? env
31
- env['REQUEST_METHOD'] == 'OPTIONS'
43
+ env[REQUEST_METHOD] == OPTIONS
32
44
  end
33
45
 
34
46
  def is_administration_request? env
35
- (env["HTTP_ACCESS_CONTROL_REQUEST_HEADERS"] || '').match(/x-pact-mock-service/i)
47
+ (env[HTTP_ACCESS_CONTROL_REQUEST_HEADERS] || '').match(X_PACT_MOCK_SERVICE_REGEXP)
36
48
  end
37
49
  end
38
50
  end
@@ -1,5 +1,5 @@
1
1
  module Pact
2
2
  module MockService
3
- VERSION = "2.9.0"
3
+ VERSION = "2.9.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact-mock_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.0
4
+ version: 2.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2018-06-15 00:00:00.000000000 Z
15
+ date: 2018-07-04 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rack