pact_broker 2.93.2 → 2.93.3

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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/lib/pact_broker/badges/service.rb +1 -1
  4. data/lib/pact_broker/build_http_options.rb +4 -12
  5. data/lib/pact_broker/certificates/service.rb +3 -3
  6. data/lib/pact_broker/domain/webhook.rb +1 -1
  7. data/lib/pact_broker/domain/webhook_request.rb +2 -2
  8. data/lib/pact_broker/version.rb +1 -1
  9. data/lib/pact_broker/webhooks/execution_configuration.rb +8 -0
  10. data/lib/pact_broker/webhooks/execution_configuration_creator.rb +5 -0
  11. data/lib/pact_broker/webhooks/webhook_request_template.rb +4 -2
  12. data/vendor/hal-browser/browser.html +107 -87
  13. data/vendor/hal-browser/js/hal/http/client.js +1 -1
  14. data/vendor/hal-browser/js/hal/views/browser.js +1 -1
  15. data/vendor/hal-browser/js/hal/views/embedded_resource.js +2 -2
  16. data/vendor/hal-browser/js/hal/views/explorer.js +1 -1
  17. data/vendor/hal-browser/js/hal/views/inspector.js +1 -1
  18. data/vendor/hal-browser/login.html +8 -9
  19. data/vendor/hal-browser/styles.css +6 -9
  20. data/vendor/hal-browser/vendor/bootstrap-icons-1.7.2/bootstrap-icons.css +1556 -0
  21. data/vendor/hal-browser/vendor/bootstrap-icons-1.7.2/bootstrap-icons.json +1537 -0
  22. data/vendor/hal-browser/vendor/bootstrap-icons-1.7.2/bootstrap-icons.scss +3097 -0
  23. data/vendor/hal-browser/vendor/bootstrap-icons-1.7.2/file-text-fill.svg +3 -0
  24. data/vendor/hal-browser/vendor/bootstrap-icons-1.7.2/fonts/bootstrap-icons.woff +0 -0
  25. data/vendor/hal-browser/vendor/bootstrap-icons-1.7.2/fonts/bootstrap-icons.woff2 +0 -0
  26. data/vendor/hal-browser/vendor/css/bootstrap.css +8530 -4374
  27. data/vendor/hal-browser/vendor/js/URI.min.js +92 -83
  28. data/vendor/hal-browser/vendor/js/bootstrap.js +3825 -1745
  29. data/vendor/hal-browser/vendor/js/jquery-3.6.0.min.js +2 -0
  30. data/vendor/hal-browser/vendor/js/underscore.js +6 -1227
  31. metadata +10 -7
  32. data/vendor/hal-browser/vendor/css/bootstrap-responsive.css +0 -1109
  33. data/vendor/hal-browser/vendor/js/jquery-1.10.2.js +0 -9789
  34. data/vendor/hal-browser/vendor/js/jquery-1.10.2.min.js +0 -6
  35. data/vendor/hal-browser/vendor/js/jquery-1.10.2.min.map +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6014e4f21b22b1055f87d7f937b7d7942cb62f1ab7e6501299c8787e83986e22
4
- data.tar.gz: 58b9668d0f34631533a507bce423d80fd0a1a8e2f98c04838a69ac83dc290f18
3
+ metadata.gz: 945a04d666baecd644bffd53da2de97fad0af2cc6c1170ed7dabaa657ef71184
4
+ data.tar.gz: 1eec76fd7c899f5547e3cd6c937589c0976c98642ee2d33be753cb4739e2ab61
5
5
  SHA512:
6
- metadata.gz: f26bd4ebafd8e30a3b8d96c2eb7c2ed5f594ef8cdfb477b89260169db34b77a32f01605b74f0a75e7f118eea1f8364e0c4f3e8d93df76617b041b526a3ff99e5
7
- data.tar.gz: 807f0c5055108dfd8b8057a64580943dc6b1aeedb669156c1dcdad09cd4926ca8d6616646af62721f12ec2ab285a9cd9556d2821fc35177c7d04768a85c66347
6
+ metadata.gz: 5877ebb9cf131b6c8897c39c639e279daa5d785e252184f2cffbbd5376e18ae9936f11bcb879e08745ec63f00f5c4d65b4bc77ef1f93d64c5193c3b86810534c
7
+ data.tar.gz: 2ed197a1ee3e6050688ed6074149210b7a8188fa3e60b68c12155f4b26eb3fe5def95ae4e13bc994f42a802b93540738240b59119b51b59bd2bfee3f9d030940
data/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ <a name="v2.93.3"></a>
2
+ ### v2.93.3 (2022-02-02)
3
+
4
+ #### Bug Fixes
5
+
6
+ * ensure webhook_certificates setting is honoured in webhook ([7933a526](/../../commit/7933a526))
7
+ * ensure disable_ssl_verification setting is honoured in webhook ([08bc758c](/../../commit/08bc758c))
8
+ * ensure webhook_certificates setting is honoured in webhook ([8a720cdb](/../../commit/8a720cdb))
9
+ * ensure disable_ssl_verification setting is honoured in webhook ([0728b3d7](/../../commit/0728b3d7))
10
+
11
+ * **hal-browser**
12
+ * fixing vulnerability by upgrading HAL browser dependencies ([a6b06f66](/../../commit/a6b06f66))
13
+
1
14
  <a name="v2.93.2"></a>
2
15
  ### v2.93.2 (2021-12-23)
3
16
 
@@ -132,7 +132,7 @@ module PactBroker
132
132
  with_cache uri do
133
133
  request = Net::HTTP::Get.new(uri)
134
134
  options = {read_timeout: 3, open_timeout: 1, ssl_timeout: 1, continue_timeout: 1}
135
- options.merge! PactBroker::BuildHttpOptions.call(uri)
135
+ options.merge! PactBroker::BuildHttpOptions.call(uri, disable_ssl_verification: PactBroker.configuration.disable_ssl_verification)
136
136
 
137
137
  Net::HTTP.start(uri.hostname, uri.port, :ENV, options) do |http|
138
138
  http.request request
@@ -4,14 +4,14 @@ module PactBroker
4
4
  class BuildHttpOptions
5
5
  extend PactBroker::Services
6
6
 
7
- def self.call uri
7
+ def self.call uri, disable_ssl_verification: false, cert_store: nil
8
8
  uri = URI(uri)
9
9
  options = {}
10
-
10
+
11
11
  if uri.scheme == "https"
12
12
  options[:use_ssl] = true
13
- options[:cert_store] = cert_store
14
- if disable_ssl_verification?
13
+ options[:cert_store] = cert_store if cert_store
14
+ if disable_ssl_verification
15
15
  options[:verify_mode] = OpenSSL::SSL::VERIFY_NONE
16
16
  else
17
17
  options[:verify_mode] = OpenSSL::SSL::VERIFY_PEER
@@ -19,14 +19,6 @@ module PactBroker
19
19
  end
20
20
  options
21
21
  end
22
-
23
- def self.disable_ssl_verification?
24
- PactBroker.configuration.disable_ssl_verification
25
- end
26
-
27
- def self.cert_store
28
- certificate_service.cert_store
29
- end
30
22
  end
31
23
  end
32
24
 
@@ -15,7 +15,7 @@ module PactBroker
15
15
  cert_store.set_default_paths
16
16
  find_all_certificates.each do | certificate |
17
17
  begin
18
- logger.debug("Loading certificate #{certificate.subject} in to cert store")
18
+ logger.debug("Loading certificate for subject #{certificate.subject} and issuer #{certificate.issuer} in to cert store")
19
19
  cert_store.add_cert(certificate)
20
20
  rescue StandardError => e
21
21
  logger.warn("Error adding certificate object #{certificate} to store", e)
@@ -42,7 +42,7 @@ module PactBroker
42
42
  end
43
43
 
44
44
  def certificates_from_config
45
- PactBroker.configuration.webhook_certificates.select{| c| c[:content] || c[:path] }.collect do | certificate_config, i |
45
+ PactBroker.configuration.webhook_certificates.select{| c| c[:content] || c[:path] }.collect.with_index do | certificate_config, i |
46
46
  load_certificate_config(certificate_config, i)
47
47
  end.flatten.compact
48
48
  end
@@ -54,7 +54,7 @@ module PactBroker
54
54
  begin
55
55
  OpenSSL::X509::Certificate.new(c)
56
56
  rescue StandardError => e
57
- logger.warn("Error creating certificate object from webhook_certificate at index #{i} with description #{certificate_config[:description]}", e)
57
+ logger.warn("Error creating certificate object from webhook_certificates at index #{i} with description #{certificate_config[:description]}", e)
58
58
  nil
59
59
  end
60
60
  end
@@ -50,7 +50,7 @@ module PactBroker
50
50
  def execute pact, verification, event_context, options
51
51
  logger.info "Executing #{self} event_context=#{event_context}"
52
52
  template_params = template_parameters(pact, verification, event_context, options)
53
- webhook_request = request.build(template_params, options.fetch(:user_agent))
53
+ webhook_request = request.build(template_params, options.slice(:user_agent, :disable_ssl_verification, :cert_store))
54
54
  http_response, error = execute_request(webhook_request)
55
55
  success = success?(http_response, options)
56
56
  http_request = webhook_request.http_request
@@ -18,7 +18,7 @@ module PactBroker
18
18
 
19
19
  HEADERS_TO_REDACT = [/authorization/i, /token/i]
20
20
 
21
- attr_accessor :method, :url, :headers, :body, :username, :password, :uuid, :user_agent
21
+ attr_accessor :method, :url, :headers, :body, :username, :password, :uuid, :user_agent, :disable_ssl_verification, :cert_store
22
22
 
23
23
  # Reform gets confused by the :method method, as :method is a standard
24
24
  # Ruby method.
@@ -47,7 +47,7 @@ module PactBroker
47
47
  end
48
48
 
49
49
  def execute
50
- options = PactBroker::BuildHttpOptions.call(uri).merge(read_timeout: 15, open_timeout: 15)
50
+ options = PactBroker::BuildHttpOptions.call(uri, disable_ssl_verification: disable_ssl_verification, cert_store: cert_store).merge(read_timeout: 15, open_timeout: 15)
51
51
  req = http_request
52
52
  Net::HTTP.start(uri.hostname, uri.port, :ENV, options) do |http|
53
53
  http.request req
@@ -1,3 +1,3 @@
1
1
  module PactBroker
2
- VERSION = "2.93.2"
2
+ VERSION = "2.93.3"
3
3
  end
@@ -41,6 +41,14 @@ module PactBroker
41
41
  with_updated_attribute(user_agent: value)
42
42
  end
43
43
 
44
+ def with_disable_ssl_verification(value)
45
+ with_updated_attribute(disable_ssl_verification: value)
46
+ end
47
+
48
+ def with_cert_store(value)
49
+ with_updated_attribute(cert_store: value)
50
+ end
51
+
44
52
  def webhook_context
45
53
  self[:webhook_context]
46
54
  end
@@ -1,15 +1,20 @@
1
1
  require "pact_broker/configuration"
2
+ require "pact_broker/services"
2
3
  require "pact_broker/webhooks/execution_configuration"
3
4
 
4
5
  module PactBroker
5
6
  module Webhooks
6
7
  class ExecutionConfigurationCreator
8
+ extend PactBroker::Services
9
+
7
10
  def self.call(resource)
8
11
  PactBroker::Webhooks::ExecutionConfiguration.new
9
12
  .with_show_response(PactBroker.configuration.show_webhook_response?)
10
13
  .with_retry_schedule(PactBroker.configuration.webhook_retry_schedule)
11
14
  .with_http_success_codes(PactBroker.configuration.webhook_http_code_success)
12
15
  .with_user_agent(PactBroker.configuration.user_agent)
16
+ .with_disable_ssl_verification(PactBroker.configuration.disable_ssl_verification)
17
+ .with_cert_store(certificate_service.cert_store)
13
18
  .with_webhook_context(base_url: resource.base_url)
14
19
  end
15
20
  end
@@ -27,7 +27,7 @@ module PactBroker
27
27
  @headers = Rack::Utils::HeaderHash.new(attributes[:headers] || {})
28
28
  end
29
29
 
30
- def build(template_params, user_agent)
30
+ def build(template_params, user_agent: nil, disable_ssl_verification: false, cert_store: nil)
31
31
  attributes = {
32
32
  method: http_method,
33
33
  url: build_url(template_params),
@@ -36,7 +36,9 @@ module PactBroker
36
36
  password: build_string(password, template_params),
37
37
  uuid: uuid,
38
38
  body: build_body(template_params),
39
- user_agent: user_agent
39
+ user_agent: user_agent,
40
+ disable_ssl_verification: disable_ssl_verification,
41
+ cert_store: cert_store
40
42
  }
41
43
  PactBroker::Domain::WebhookRequest.new(attributes)
42
44
  end
@@ -3,46 +3,41 @@
3
3
  <meta charset="utf-8">
4
4
  <title>The HAL Browser</title>
5
5
  <link rel="stylesheet" media="screen" href="vendor/css/bootstrap.css" />
6
- <style type="text/css">
7
- body {
8
- padding-top: 60px;
9
- padding-bottom: 40px;
10
- }
6
+ <link rel="stylesheet" href="vendor/bootstrap-icons-1.7.2/bootstrap-icons.css">
7
+ <style type="text/css">
11
8
  .sidebar-nav {
12
9
  padding: 9px 0;
13
10
  }
14
11
  </style>
15
- <link rel="stylesheet" media="screen" href="vendor/css/bootstrap-responsive.css" />
12
+ <link rel="stylesheet" media="screen" href="vendor/css/bootstrap.css" />
16
13
  <link rel="stylesheet" media="screen" href="styles.css" />
17
14
  </head>
18
15
 
19
- <body>
16
+ <body>
20
17
 
21
- <div class="navbar navbar-fixed-top">
22
- <div class="navbar-inner">
23
- <div class="container-fluid">
24
- <a class="brand">The HAL Browser</a>
25
- <div class="nav-collapse">
26
- <ul class="nav">
27
- <li><a href="#/" id="entryPointLink">Go To Entry Point</a></li>
28
- <li><a href="https://github.com/mikekelly/hal-browser">About The HAL Browser</a></li>
29
- <li><a href="/" id="pactBrokerHomeLink">Pact Broker Home</a></li> <!-- pact_broker -->
30
- </ul>
31
- </div>
32
- </div>
33
- </div>
18
+ <nav class="navbar sticky-top navbar-expand-md navbar-light bg-light">
19
+ <div class="collapse navbar-collapse">
20
+ <ul class="navbar-nav">
21
+ <li class="nav-item"><a class="nav-link" href="#/" id="entryPointLink">Go To Entry Point</a></li>
22
+ <li class="nav-item"><a class="nav-link" href="https://github.com/mikekelly/hal-browser">About The HAL Browser</a></li>
23
+ <li class="nav-item"><a class="nav-link" id="pactBrokerHomeLink" href="/">Pact Broker Home</a></li> <!-- pact_broker -->
24
+ </ul>
34
25
  </div>
26
+ </nav>
35
27
 
36
- <div id="browser" class="container-fluid"></div>
28
+ <div id="browser" class="container-fluid"></div>
37
29
 
38
30
  <script id="location-bar-template" type="text/template">
39
- <form>
40
- <div class="input-append span12 location-bar-container">
41
- <input class="span11" id="appendedInputButton" type="text" value="<%= _.escape(url) %>">
42
- <button class="btn" type="submit">Go!</button>
43
- <span class="ajax-loader"></span>
44
- </div>
45
- </form>
31
+ <form>
32
+ <div class="input-group mb-3">
33
+ <input type="text" class="form-control" id="appendedInputButton" type="text" value="<%= _.escape(url) %>">
34
+ <div class="input-group-append">
35
+ <button class="btn btn-outline-secondary input-group-text" type="submit">
36
+ Go!
37
+ </button>
38
+ </div>
39
+ </div>
40
+ </form>
46
41
  </script>
47
42
 
48
43
  <script id="links-template" type="text/template">
@@ -50,12 +45,12 @@
50
45
  <table class="table">
51
46
  <thead>
52
47
  <tr>
53
- <th>rel</th>
54
- <th>title</th>
55
- <th>name / index</th>
56
- <th>docs</th>
57
- <th>GET</th>
58
- <th>NON-GET</th>
48
+ <th scope="col">rel</th>
49
+ <th scope="col">title</th>
50
+ <th scope="col">name / index</th>
51
+ <th scope="col">docs</th>
52
+ <th scope="col">GET</th>
53
+ <th scope="col">NON-GET</th>
59
54
  </tr>
60
55
  </thead>
61
56
  <tbody>
@@ -69,14 +64,14 @@
69
64
  <td><%- link.name ? 'name: ' + link.name : 'index: ' + i %></a></td>
70
65
  <td>
71
66
  <% if (HAL.isUrl(rel)) { %>
72
- <a class="dox" href="<%= HAL.normalizeUrl(HAL.buildUrl(rel)) %>"><i class="icon-book"></i></a>
67
+ <a class="dox btn" href="<%= HAL.normalizeUrl(HAL.buildUrl(rel)) %>"><i class="bi-file-text-fill" style="font-size: large"></i></a>
73
68
  <% } %>
74
69
  </td>
75
70
  <td>
76
71
  <% if (link.templated === true) { %>
77
- <a class="query btn btn-success" href="<%= HAL.normalizeUrl(link.href) %>" title="Query URI template"><i class="icon-question-sign"></i></a>
72
+ <a class="query btn btn-success" href="<%= HAL.normalizeUrl(link.href) %>" title="Query URI template">?</a>
78
73
  <% } else { %>
79
- <a class="follow btn btn-success" href="<%= HAL.normalizeUrl(link.href) %>" title="Follow link"><i class="icon-arrow-right"></i></a>
74
+ <a class="follow btn btn-success" href="<%= HAL.normalizeUrl(link.href) %>" title="Follow link">&#10140;</a>
80
75
  <% } %>
81
76
  </td>
82
77
  <td>
@@ -92,14 +87,14 @@
92
87
  <td><%- obj.name || '' %></td>
93
88
  <td>
94
89
  <% if (HAL.isUrl(rel)) { %>
95
- <a class="dox" href="<%= HAL.normalizeUrl(HAL.buildUrl(rel)) %>"><i class="icon-book"></i></a>
90
+ <a class="dox btn" href="<%= HAL.normalizeUrl(HAL.buildUrl(rel)) %>"><i class="bi-file-text-fill" style="font-size: large"></i></a>
96
91
  <% } %>
97
92
  </td>
98
93
  <td>
99
94
  <% if (obj.templated === true) { %>
100
- <a class="query btn btn-success" href="<%= HAL.normalizeUrl(obj.href) %>" title="Query URI template"><i class="icon-question-sign"></i></a>
95
+ <a class="query btn btn-success" href="<%= HAL.normalizeUrl(obj.href) %>" title="Query URI template">?</a>
101
96
  <% } else { %>
102
- <a class="follow btn btn-success" href="<%= HAL.normalizeUrl(obj.href) %>" title="Follow link"><i class="icon-arrow-right"></i></a>
97
+ <a class="follow btn btn-success" href="<%= HAL.normalizeUrl(obj.href) %>" title="Follow link">&#10140;</a>
103
98
  <% } %>
104
99
  </td>
105
100
  <td>
@@ -114,17 +109,25 @@
114
109
 
115
110
  <script id="properties-template" type="text/template">
116
111
  <h2>Properties</h2>
117
- <pre><%= properties %></pre>
112
+ <div class="card read-only">
113
+ <div class="card-body">
114
+ <pre><%= properties %></pre>
115
+ </div>
116
+ </div>
118
117
  </script>
119
118
 
120
119
  <script id="request-headers-template" type="text/template">
121
120
  <h2>Custom Request Headers</h2>
122
- <textarea class="span12"></textarea>
121
+ <div class="input-group">
122
+ <textarea class="form-control"></textarea>
123
+ </div>
123
124
  </script>
124
125
 
125
126
  <script id="response-headers-template" type="text/template">
126
127
  <h2>Response Headers</h2>
127
- <pre><%= status.code %> <%= status.text %>
128
+ <div class="card read-only">
129
+ <div class="card-body">
130
+ <pre><%= status.code %> <%= status.text %>
128
131
 
129
132
  <% _.each(headers, function(value, name) {
130
133
  %><%= _.escape(name) %>: <%
@@ -136,65 +139,82 @@
136
139
  %></a><%
137
140
  } %>
138
141
  <% }) %></pre>
142
+ </div>
143
+ </div>
139
144
  </script>
140
145
 
141
146
  <script id="response-body-template" type="text/template">
142
147
  <h2>Response Body</h2>
143
- <pre><%= _.escape(body) %></pre>
148
+ <div class="card read-only">
149
+ <div class="card-body">
150
+ <pre><%= _.escape(body) %></pre>
151
+ </div>
152
+ </div>
144
153
  </script>
145
154
 
146
155
  <script id="query-uri-template" type="text/template">
147
- <div class="modal-header">
148
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
149
- <h3>Expand URI Template</h3>
150
- </div>
151
-
152
- <form id="query" action="<%= href %>">
153
- <div class="modal-body">
154
- <p>URI Template:</p>
155
- <pre><%- href %></pre>
156
- <p>Input (JSON):</p>
157
- <textarea><%= input %></textarea>
158
- <p>Expanded URI:</p>
159
- <pre class="preview">&nbsp;</pre>
160
- </div>
161
-
162
- <div class="modal-footer">
163
- <button type="submit" class="btn btn-primary">Follow URI</button>
156
+ <div class="modal-dialog modal-dialog-centered">
157
+ <div class="modal-content">
158
+ <div class="modal-header">
159
+ <h5>Expand URI Template</h5>
160
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
161
+ </div>
162
+ <form id="query" action="<%= href %>">
163
+ <div class="modal-body">
164
+ <label for="uri">URI Template:</label>
165
+ <div class="card read-only" id="uri">
166
+ <div class="card-body">
167
+ <pre><%- href %></pre>
168
+ </div>
169
+ </div>
170
+ <label for="input">Input (JSON):</label>
171
+ <textarea class="form-control" id="input"><%= input %></textarea>
172
+ <label for="preview">Expanded URI:</label>
173
+ <div class="card read-only" id="preview">
174
+ <div class="card-body">
175
+ <pre class="preview">&nbsp;</pre>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ <div class="modal-footer">
180
+ <button type="submit" class="btn btn-primary">Follow URI</button>
181
+ </div>
182
+ </form>
164
183
  </div>
165
- </form>
184
+ </div>
166
185
  </script>
167
186
 
168
-
169
187
  <script id="non-safe-request-template" type="text/template">
170
- <div class="modal-header">
171
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
172
- <h3>Make a non-GET request</h3>
173
- </div>
174
-
175
- <form class="non-safe" action="<%= href %>">
176
- <div class="modal-body">
177
- <p>Target URI</p>
178
- <input name="url" type="text" class="url" value="<%= href %>" />
179
- <p>Method:</p>
180
- <input name="method" type="text" class="method" value="POST" />
181
- <p>Headers:</p>
182
- <textarea name="headers" class="headers" style="height: 100px">
188
+ <div class="modal-dialog modal-dialog-centered">
189
+ <div class="modal-content">
190
+ <div class="modal-header">
191
+ <h5 class="modal-title">Make a NON-GET request</h5>
192
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
193
+ </div>
194
+ <form class="non-safe" action="<%= href %>">
195
+ <div class="modal-body">
196
+ <label for="url">Target URI</label>
197
+ <input name="url" type="text" class="url form-control" id="url" value="<%= href %>" />
198
+ <label for="method">Method:</label>
199
+ <input name="method" type="text" class="method form-control" id="method" value="POST" />
200
+ <label for="headers">Headers:</label>
201
+ <textarea name="headers" class="headers form-control" style="height: 100px" id="headers">
183
202
  Content-Type: application/json
184
203
  <%= user_defined_headers %>
185
- </textarea>
186
- <p>Body:</p>
187
- <textarea name="body" class="body" style="height: 200px">
204
+ </textarea>
205
+ <label for="body">Body:</label>
206
+ <textarea name="body" class="body form-control" style="height: 200px" id="body">
188
207
  {
189
208
 
190
209
  }
191
- </textarea>
192
- </div>
193
-
194
- <div class="modal-footer">
195
- <button type="submit" class="btn btn-primary">Make Request</button>
210
+ </textarea>
211
+ </div>
212
+ <div class="modal-footer">
213
+ <button type="submit" class="btn btn-primary">Make Request</button>
214
+ </div>
215
+ </form>
216
+ </div>
196
217
  </div>
197
- </form>
198
218
  </script>
199
219
 
200
220
  <script id="embedded-resources-template" type="text/template">
@@ -214,7 +234,7 @@ Content-Type: application/json
214
234
  </div>
215
235
  </script>
216
236
 
217
- <script src="vendor/js/jquery-1.10.2.min.js"></script>
237
+ <script src="vendor/js/jquery-3.6.0.min.js"></script>
218
238
  <script src="vendor/js/underscore.js"></script>
219
239
  <script src="vendor/js/backbone.js"></script>
220
240
  <script src="vendor/js/uritemplates.js"></script>
@@ -260,4 +280,4 @@ Content-Type: application/json
260
280
 
261
281
  $('#pactBrokerHomeLink').attr('href', baseUrl); //pact_broker
262
282
  </script>
263
- </body>
283
+ </body>
@@ -23,7 +23,7 @@ HAL.Http.Client.prototype.get = function(url) {
23
23
  headers: jqXHR.getAllResponseHeaders()
24
24
  });
25
25
  }
26
- }).error(function() {
26
+ }).fail(function() {
27
27
  self.vent.trigger('fail-response', { jqxhr: jqxhr });
28
28
  });
29
29
  };
@@ -7,7 +7,7 @@ HAL.Views.Browser = Backbone.View.extend({
7
7
  this.inspectorView = new HAL.Views.Inspector({ vent: this.vent });
8
8
  },
9
9
 
10
- className: 'hal-browser row-fluid',
10
+ className: 'row',
11
11
 
12
12
  render: function() {
13
13
  this.$el.empty();
@@ -21,7 +21,7 @@ HAL.Views.EmbeddedResource = Backbone.View.extend({
21
21
 
22
22
  onToggleClick: function(e) {
23
23
  e.preventDefault();
24
- this.$accordionBody.collapse('toggle');
24
+ this.$accordionBody.toggle();
25
25
  return false;
26
26
  },
27
27
 
@@ -53,7 +53,7 @@ HAL.Views.EmbeddedResource = Backbone.View.extend({
53
53
  $inner.append(embeddedResourcesView.el);
54
54
  }
55
55
 
56
- this.$accordionBody = $('<div class="accordion-body collapse"></div>');
56
+ this.$accordionBody = $('<div class="accordion-body"></div>');
57
57
  this.$accordionBody.append($inner)
58
58
 
59
59
  this.$el.append(this.$accordionBody);
@@ -6,7 +6,7 @@ HAL.Views.Explorer = Backbone.View.extend({
6
6
  this.resourceView = new HAL.Views.Resource({ vent: this.vent });
7
7
  },
8
8
 
9
- className: 'explorer span6',
9
+ className: 'col-6',
10
10
 
11
11
  render: function() {
12
12
  this.navigationView.render();
@@ -9,7 +9,7 @@ HAL.Views.Inspector = Backbone.View.extend({
9
9
  this.vent.bind('response', this.renderResponse);
10
10
  },
11
11
 
12
- className: 'inspector span6',
12
+ className: 'col-6',
13
13
 
14
14
  render: function() {
15
15
  this.$el.html(this.template());
@@ -5,7 +5,6 @@
5
5
  <title>Sign in - HAL Browser</title>
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
7
  <link href="vendor/css/bootstrap.css" rel="stylesheet">
8
- <link href="vendor/css/bootstrap-responsive.css" rel="stylesheet">
9
8
  <style type="text/css">
10
9
  body {
11
10
  padding-top: 40px;
@@ -13,20 +12,17 @@
13
12
  background-color: #f5f5f5;
14
13
  }
15
14
  .form-signin {
16
- max-width: 300px;
15
+ max-width: 350px;
17
16
  padding: 19px 29px 29px;
18
17
  margin: 0 auto 20px;
19
18
  background-color: #fff;
20
19
  border: 1px solid #e5e5e5;
21
- -webkit-border-radius: 5px;
22
- -moz-border-radius: 5px;
23
20
  border-radius: 5px;
24
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
25
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
26
21
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
22
+ text-align: center;
27
23
  }
28
24
  .form-signin .form-signin-heading {
29
- margin-bottom: 10px;
25
+ margin-bottom: 40px;
30
26
  }
31
27
  .form-signin input[type="text"], .form-signin input[type="password"] {
32
28
  font-size: 16px;
@@ -34,8 +30,11 @@
34
30
  margin-bottom: 15px;
35
31
  padding: 7px 9px;
36
32
  }
33
+ .form-signin .form-signin-btn {
34
+ margin-top: 25px;
35
+ }
37
36
  </style>
38
- <script src="vendor/js/jquery-1.10.2.min.js"></script>
37
+ <script src="vendor/js/jquery-3.6.0.min.js"></script>
39
38
  <script src="vendor/js/bootstrap.js"></script>
40
39
  <script>
41
40
  $(document).ready(function() {
@@ -69,7 +68,7 @@
69
68
  <input type="text" class="input-block-level" placeholder="Client Secret" id="clientsecret">
70
69
  <input type="text" class="input-block-level" placeholder="Username" id="username">
71
70
  <input type="password" class="input-block-level" placeholder="Password" id="password">
72
- <button type="submit" class="btn btn-large btn-primary" id="login">Sign in</button>
71
+ <button type="submit" class="btn btn-large btn-primary form-signin-btn" id="login">Sign in</button>
73
72
  </form>
74
73
  </div>
75
74
  </body>
@@ -29,8 +29,7 @@ html, body, #browser, .hal-browser { height: 100%; }
29
29
  .inspector { height: 100%; }
30
30
 
31
31
  .documentation { height: 100%; }
32
- .documentation iframe { width: 100%; height: 100%; }
33
- .documentation iframe { min-height: 600px } /* pact_broker Beth: don't know why we need this, it used to display full height without setting a min-height. No idea what changed. */
32
+ .documentation iframe { width: 100%; height: 100%; border-color: transparent;}
34
33
 
35
34
  .modal input, .modal textarea {
36
35
  width: 90%;
@@ -40,6 +39,10 @@ html, body, #browser, .hal-browser { height: 100%; }
40
39
  height: 100px;
41
40
  }
42
41
 
42
+ .read-only {
43
+ background-color: #f5f5f5 !important;
44
+ }
45
+
43
46
  .links .btn {
44
47
  padding: 2px 5px 2px;
45
48
  font-size: 12px;
@@ -47,11 +50,7 @@ html, body, #browser, .hal-browser { height: 100%; }
47
50
  }
48
51
 
49
52
  body table.table {
50
- font-size: 11px;
51
- }
52
-
53
- body table.table td:nth-child(3) {
54
- word-wrap: break-word;
53
+ font-size: 14px;
55
54
  }
56
55
 
57
56
  .location-bar-container {
@@ -74,9 +73,7 @@ body table.table td:nth-child(3) {
74
73
  }
75
74
  .embedded-resource-title {
76
75
  font-style: italic;
77
- word-wrap: break-word;
78
76
  }
79
-
80
77
  .embedded-resource-title:before {
81
78
  content: "\"";
82
79
  }